today'work
컴파일 시 Lombok Builder 클래스를 못 찾는 에러
msna
2023. 9. 28. 16:21
결론
- Lombok의 Builder를 static import할 때는 *를 이용해야지, 클래스명으로 직접하면 에러가 난다.
상황
- maven으로 빌드시 Builder클래스를 못찾는 에러 발생
- 같은 레벨의 다른 프로젝트는 문제 없고, 유사한 pom.xml을 사용 중.
- main소스는 문제 없음. test소스에서만 문제 발생.
예상원인
- maven-compiler의 설정 이상
- 문제가 생긴 프로젝트만 해당 플러그인에 별도의 설정이 있기 때문에
- 여러 테스트의 충돌
- UT, IT-a, IT-b로 나뉘어진 테스트 코드가 합쳐질 때 중복이 된다던가 하는 에러의 가능성
해결하기 위해 시도한 방법
- maven-compiler-plugin 설정을 통한 해결 : 실패
- 특별한 설정과 그 설정을 쓰는 파일을 지우고 시도
- annotaion processor설정을 추가
- maven과 lombok버전업: 실패
- lombok의 버전을 설정해가며 시도
- UT만 남기고 다른 테스트 삭제: 실패
- UT만 남긴 상태에서 파일을 조금씩 지워가며 에러가 발생하지 않을 때까지 반복 : 성공
원인과 대응
- 파일을 조금씩 지워가며 빌드하다가 빌드가 성공되는 것을 발견.
- 해당 파일은 내가 만든거라 동작확인이 끝난 파일.
- 히스토리를 보니 누군가가 테스트 케이스를 추가하면서 기존의 import를 *에서 해당 빌더이름으로 바꾼 것을 확인.
- 이제서야 lombok의 문서를 살펴보니 static import를 하면 *로 해야지 빌더를 직접 import를 하면 안된다고 함.
- 해당 이슈를 보낸 사람에게 해당 내용 알리고 종결.
참고
- lombok builder
https://projectlombok.org/features/Builder