이슈가 발생한 환경은 gradle 5.2.1
, jdk 1.8
이다.
그래들 컴파일 에러
IntelliJ 2020.1 버전으로 업데이트 한 후 발생 하였다. 기존에 잘 돌아가던 테스트 코드가 업데이트 후 다음과 같은 컴파일 에러가 발생 하였다.
cannot find symbol variable log
log 는 롬복 어노테이션인 @Slf4j
에 의해 컴파일 시 생성 된다.
원인
원인은 롬복 어노테이션 프로세서(테스트)를 추가해 주지 않았기 때문이었다. 전 버전에서도 똑같은 이슈가 있었을 텐데 버전을 업데이트 하면서, 그래들 빌드 설정이 Gradle(Default)로 변경 되면서 발생한 것이다.
언제부턴가 업데이트 될 때 마다 습관적으로 IntelliJ IDEA 로 바꿔 주고 있었는데, 그래서 인지를 못한 것 같다.
해결
테스트 롬복 어노테이션 프로세서(testAnnotationProcessor)를 추가해주면 Gradle 빌드&테스트 성공.
dependencies { compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' }
다른 방법은 그래들 빌드 설정(Preference > Build,Execution,Deployment > Build Tool > Gradle > Build and Run) 을
IntelliJ IDEA
로 바꾸는 것이다. 어노테이션 프로세서를 명시하지 않고 설정만 바꿔도 빌드는 성공 하지만, IDE 환경에서만 해당된다.
결론
배포 환경과 비슷한 환경을 구성하여, 테스트를 해봐야 2번 배포하는 일이 없을 것 같다.
그리고 이슈를 만났을 때, 근본적인 원인을 찾아 해결하려 노력하자.