Gradle 5.x로 Lombok을 사용하는 Spring Boot 프로젝트 빌드하기
2020, Apr 24
사내에서 개발한 프로젝트 관리툴에 Gradle 빌드가 추가가 되어 기존에 로컬머신에서 Jenkins를 이용해서 빌드하던 프로젝트를 이관해서 빌드하려는데 계속 이슈가 발생하여 정리 겸 글을 쓴다.
Issue
로컬머신에서 빌드하는 경우 정상적으로 빌드가 되나, 사내 관리툴을 통해 빌드할 경우 여러 곳에서 lombok 어노테이션 사용부분에서 error: cannot find symbol 가 발생하면서 빌드 실패가 나는 이슈
Solution
먼저 로컬머신은 gradle 4.10.2버전을 사용중이었고 사내관리툴은 5.3.1버전이 설치되어 있었다.
정확한 이유는 알 수 없었지만, 5.x대 버전에서는 어노테이션에 대한 전처리기를 명시적으로 세팅해줘야 정상적으로 빌드가 되었다.
build.gradle의 디펜던시 설정 부분에 complieOnly와 annotationProcessor로 Lombok을 추가해준다.
dependencies {
compileOnly("org.projectlombok:lombok:${lombokVersion}")
annotationProcessor("org.projectlombok:lombok:${lombokVersion}")
...
}
관련 링크
https://github.com/rzwitserloot/lombok/issues/1945