WEB/Spring & Spring boot

Gradle 버전에 따른 lombok 추가 방법 - Gradle 6 이상 버전에서도 lombok 오류 나지 않게 하려면

hyunah 2021. 4. 24. 17:13

Gradle 버전에 따른 lombok 라이브러리 추가 방법

 

스프링 부트와 AWS로 혼자 구현하는 웹서비스 책을 이용해 실습을 진행하던 중, 74 페이지에서 오류가 나서 그 원인을 살펴보았다. Gradle 버전에 따라서 build.gradle에 의존성을 추가하는 방식이 약간씩 달라지기 때문에 생긴 문제였다. 직접 찾아보면서 알게 된, Gradle 버전별 lombok 라이브러리 추가 방법에 대해 설명해보겠다.

lombok 라이브러리를 추가한 후에는 1. lombok 플러그인을 설치하고 2. Settings > Build > Compiler > Annotation Processors 에서 Enable annotation processing 을 체크해야 롬복을 사용할 수 있다.





Gradle 버전 확인하기

우선 본인에게 맞는 방법을 알기 위해 본인이 사용하고 있는 gradle 버전을 확인해야 한다. 인텔리J를 사용 중이라면 gradle/wrapper/gradle-wrapper.properties 파일에서 확인 가능하다.

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists




혹은 cmd 창에서 gradlew 파일이 존재하는 디렉터리로 이동해 확인하는 방법도 있다.

gradlew --version



 



 

Gradle 버전에 따른 롬복 추가 방법

 

1. Gradle 4

스프링 부트와 AWS로 혼자 구현하는 웹서비스 책에 제시되어 있는 방법이다. 이 방법을 고수하고 싶다면, Gradle을 다운그레이드하면 된다.

compile('org.projectlombok:lombok')

관련 깃허브 이슈 링크




2. Gradle 5

compileOnly("org.projectlombok:lombok")
testCompileOnly("org.projectlombok:lombok")
annotationProcessor("org.projectlombok:lombok")
testAnnotationProcessor("org.projectlombok:lombok")




3. Gradle 6 이상

Gradle 6이 되면서 compile, testCompile 은 Soft Deprecate되고, implementation, testImplementation 이 추가되기 때문에, 이전 버전과 비교하였을 때 그 부분에서 차이가 있다.

implementation('org.projectlombok:lombok')
testImplementation('org.projectlombok:lombok')
annotationProcessor('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')





스프링 부트와 AWS로 혼자 구현하는 웹서비스 책의 저자 이동욱님께서 2020년 12월에 올려주신 최신 수정 코드에 Gradle을 6 이상의 버전으로 수정하는 부분이 있어서 gradle을 다운그레이드하는 방법으로 해결하고 싶지 않아 이것저것 찾아보다가 정리하였다.

 

최신 수정 버전 코드를 담은 블로그글 링크