Lombok
라이브러리를 사용하기 위하여 플러그인 설치 후 개발을 진행하다 아래와 같이 오류가 발생하였다.
error: variable {멤버 변수명} not initialized in the default constructor
1. Gradle
버전 확인
distributionUrl
설정값을 통하여 버전을 확인한다.2. 프로젝트 내 build.gradle
파일을 확인하여 Lombok
의 의존성이 올바르게 추가되었는지 확인
Lombok
의 경우 Gradle
의 버전별로 의존성을 추가하는 방법이 다르다.Gradle
을 설정한 뒤 프로젝트 빌드를 진행하기만 하여도 테스트 코드가 정상적으로 작동함을 확인하였다.dependencies {
compileOnly 'org.projectlombok:lombok:1.18.22'
annotationProcessor 'org.projectlombok:lombok:1.18.22'
testCompileOnly 'org.projectlombok:lombok:1.18.22'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.22'
}
Gradle
버전 6부터 compile
, testCompile
함수가 Soft Deprecated 되는 등의 변화가 있었음을 깨달았다. 그래서 가급적 최신 버전의 함수를 사용해보고자 아래와 같이 작성하여 정상 확인하였다. (현재 해당 프로젝트의 Gradle
버전은 7.1
이다.)dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.projectlombok:lombok'
testImplementation 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
}
아직 Gradle
을 접한지는 얼마 되지 않았지만 버전별 특성 등을 이해하기 위해 보다 더 공부해야겠다고 생각하였다.