Showing posts with label lombok. Show all posts
Showing posts with label lombok. Show all posts

Sunday, March 17, 2019

Gradle 환경에서 Springboot와 Lombok 사용시 compileJava 에러 해결 가이드

Springboot2, Lombok, Gradle 환경에서 'compileJava' 에러 해결법

Springboot2, Lombok, Gradle을 이용한 개발 환경에서 소스 코드를 다른 컴퓨터로 가져와 실행하다가 'execution failed for task compileJava'라는 에러가 발생했습니다. 또는 'gradle bootJar'로 패키징 시에 'gradle can't not find symbol' 오류가 발생하는 경우입니다.

이런 상황은 매우 당혹스럽습니다. 아무 것도 건드리지 않고 잘 동작하던 소스를 git pull로 가져오기만 했을 뿐인데, path 오류도 아니고 컴파일 에러가 발생하니 이유를 알 수 없었습니다. IDE에서 오류를 표시하지 않았던 것이 더욱 혼란을 가중시켰습니다.

'compileJava' 에러의 원인과 해결 방법

여러 시도 끝에 문제의 원인과 해결 방법을 찾았습니다. 제 Gradle dependency 설정에서는 compileOnly('org.projectlombok:lombok')만 설정되어 있었습니다. 그런데 문제 해결을 위해서는 annotationProcessor('org.projectlombok:lombok')도 함께 설정해주어야 했습니다.

(왜 이전에는 문제 없이 동작했는지 정확한 원인은 아직 알 수 없습니다. 정보 제공해주실 분은 연락 부탁드립니다.)

저 같은 경우에는 dependency를 최대한 깔끔하게 관리하려고 항상 삭제 후 문제 여부를 체크하는 습관이 있었습니다. 처음에 lombok 설정에서 두 가지 옵션을 모두 적용 후 하나를 지웠고, 그 때문에 문제가 없어보였지만 실제로는 그 부분에서 어느 정도 문제가 있었던 것으로 예측됩니다.

Thursday, June 7, 2018

gradle 기준 dependencies에 lombok 설정을 해도 작동 하지 않을 경우(lombok not working)

Gradle 기준 Lombok 설정 문제 해결 방법

Lombok이 Gradle 프로젝트에서 제대로 작동하지 않는 경우가 있습니다. 이럴 때는 다음과 같은 방법으로 문제를 해결할 수 있습니다.

1. External Dependencies에서 Lombok 찾기

먼저, 프로젝트의 External Dependencies에서 Lombok을 찾아야 합니다.

2. Java Application으로 실행하기

Lombok을 찾았다면, Java Application으로 한 번 실행시킵니다.

3. Lombok 설치하기

Java Application으로 실행한 후에는 Lombok을 설치합니다.

4. STS 재시작하기

Lombok 설치가 완료되었다면, 마지막으로 Spring Tool Suite(STS)를 재시작해줍니다.

Lombok 설정 화면

이렇게 하면 Gradle 프로젝트에서 Lombok이 제대로 작동하는지 확인할 수 있습니다.