Spring boot에서 Gradle task로 war파일을 build하려고 하다가 오류를 만났다.
오류:
* What went wrong:
Execution failed for task ':compileJava'.
> java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x2fbb01ba) 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 @0x2fbb01ba
원인은 lombok과 java버전이 잘 맞지 않아서 나타나는 문제인것 같다.
프로젝트의 자바버전은 1.8로 lombok은 1.18.20으로 하면 맞는다는 것을 알게 되었다.
해결방법 : lombok의 버전을 명시해준다!
build.gradle파일에서
dependencies{
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}
⏬
⏬
⏬ 이렇게 작성했었는데, 아래처럼 버전을 명시하여 수정하면 된다!
⏬
⏬
dependencies{
compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'
}
gradle수정 후, Refresh Gradle Project를 잊지 말아야 한다 :)
혹시 필요하다면~ "lombok설치하는 방법" 링크 :