만쥬의 개발일기
article thumbnail

스프링 프로젝트 초기 설정 도중, 테스트를 돌리자 variable userRepository not initialized in the default constructor 에러가 발생했다.

생성자를 Lombok을 이용하여 만들었는데, variable not initialized in the default constructor라는 에러가 발생했다면, Lomnok이 정상적으로 동작하지 않는다는 뜻으로 다음과 같은 상황을 의심해봐야한다.

 

Gradle 버전 확인

Gradle을 통해서 롬복 의존성 라이브러리를 추가해주었지만 동작하지 않는다면 자신의 Gradle 버전이 5.x 이상인지 확인해야한다.

그 이유는 Gradle 버전이 올라가면서 Lombok 의존성을 추가하는 방법이 바뀌었기 때문이다.

Gradle 버전은 프로젝트의 gradle ➡️gradle-wrapper.propertie에서 확인 가능하다.

필자는 gradle 버전이 8.3 이었다. 

그렇다면 버전에 따라 의존성 라이브러리를 추가하는 방식이 어떻게 다른지를 확인해보자.

 

Gradle 5.x 미만

dependencies {
	implementation 'org.projectlombok:lombok'
}



Gradle 5.x 이상

dependencies {
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
}

 

역시나 위의 방식으로 의존성 라이브러리를 추가하고 있었고, 아래 코드로 변경하니 정상 작동하였다.

 

reference 

profile

만쥬의 개발일기

@KangManJoo

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!