Error
java: Can't get the delegate of the gradle IncrementalProcessingEnvironment.
java: cannot find symbol
symbol: variable log
location: class openapi.OpenApiController
롬복 플러그인을 활용해 @Slf4j 어노테이션을 사용하던 중 위와 같은 에러 발생.
해결
방법1
보통의 경우에는 Annotation Processor 설정이 안되있거나 Lombok 플러그인이 설치되어 있지 않을 때 발생.
둘중 하나라도 걸린다고 생각한다면
Lombok 플러그인이 설치되어 있는지 확인 하고, 없으면 설치
Preferences -> Build, Execution, Deployment -> Compiler -> Annotation Processors -> Enable annotation processing 체크박스에 체크
이후 IntelliJ를 재시작 하면 보통 해결 된다.
방법2
하지만 나의 경우는 위에 해당하는 상황이 아님. 프로젝트내 여러 모듈 중 특정 한개의 모듈에서만 문제가 발생 하고 있음.
pom.xml
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<scope>provided</scope>
</dependency>
lombok 버전을 특정 버전으로 명시 해 두었는데, 기존의 버전이 새로운 환경과 맞지 않는 부분이 있지 않을까 의심됨. 그래서<version></version>
부분을 모두 삭제 한 뒤 스프링부트가 알아서 적절한 버전을 선택해 주도록 했다. Refresh 하니 에러가 더이상 발생하지 않음.
라이브러리를 확인 해 보니, 1.18.20 버전이 들어와 있음. 마이너 버전이라도 이후 18번의 패치가 더 이루어 지며 수정이 된 것으로 보임.
202년 4월 27일 추가 : 비슷한 에러 해결 중 너무 오래된 롬복 의존성을 최신의 인텔리제이 및 롬복 플러그인에서 제대로 컴파일 해지 못하는 것을 확인 하였습니다. 롬복 버전을 바꿔가며 컴파일 되는 버전을 찾아 보세요.
혹시 위에서의 방법들로 해결이 되지 않는다면 아래 링크를 참고하여 다른 방법을 시도해보세요.
문제 해결 끝.