Framework/Spring

[Spring Boot] Lombok - Gradle, jdk 버전 충돌 오류 해결

Jonnie 2022. 3. 14. 16:54

'스프링 부트와 AWS로 혼자 구현하는 웹 서비스' Chapter02 스프링부트에서 테스트 코드를 작성하자 파트를 실습하던 중

 

lombok error: variable name not initialized in the default constructor private final String name;

 

에러가 발생하며 테스트 코드가 작동하지 않았다.

 

https://github.com/jojoldu/freelec-springboot2-webservice/issues/78

 

p.72 lombok constructor 생성 오류 · Issue #78 · jojoldu/freelec-springboot2-webservice

생성자가 안만들어지고 lombok error: variable name not initialized in the default constructor private final String name; 이런 오류가 나서 확인해보니 gradle 5부터는 어노테이션을 구별해서 추가해줘야 한다고 하네요.

github.com

 

위 답변을 참고하여 변경해보았으나 이후 실습에서 계속 Gradle 버전으로 인한 오류가 발생할 것 같아 결국 Gradle 4로 버전을 변경하였다.

Gradle 4 버전 변경은 Terminal(alt + f12)을 열고 아래 코드를 입력하면 끝이다.

./gradlew wrapper --gradle-version 4.10.2

 

그러나 이후 jdk16 버전 충돌로 인해 아래와 같은 오류가 추가 발생했다

 

Cause: class lombok.javac.apt.LombokProcessor (in unnamed module @0x31d8f0a9) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module @0x31d8f0a9

 

이 문제는 아래 링크를 참고하여 해결하였다.

https://projectlombok.org/setup/gradle

 

Gradle

 

projectlombok.org

    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'

 

위 코드들을 build.gradle 파일 dependencies에 기존 lombok 코드를 삭제하고 넣으면 된다

 

버전 변경 + jdk 버전 오류 해결을 통한 최종적인 build.gradle 파일의 dependencies의 코드는 아래와 같다

dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
    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'
}

'Framework > Spring' 카테고리의 다른 글

[Spring Boot] Gradle 빌드 에러 해결하기  (0) 2022.03.14