프로젝트를 하면서 @Builder 를 사용하는 경우가 흔한데 static으로 불러오는 과정에서 문제가 생겼습니다.
위와 같이 @Builder가 적용된 클래스에서 사용된 필드를 원하는 값으로 초기화 하고자 @Builder.Default 를 사용하였습니다.
그러다 @Builder.Default가 길다고 느껴져서 @Default로 바꾸고자 위와 같이 static으로 선언해서 가져오도록 바꿨는데 여기서 문제가 발생했습니다.
이러한 문제를 해결하고자 여러 자료를 검색하다 아래와 같은 내용을 찾게되었습니다.
https://stackoverflow.com/questions/47674264/static-import-not-working-in-lombok-builder-in-intellij
static import not working in lombok builder in intelliJ
I am using Lombok in IntelliJ. Though everything else is working fine when I try to do the static import of the Lombok builder, IntelliJ build project doesn't find the builder class. If you don't use
stackoverflow.com
intellij 플러그인에서는 잘 작동하지만 lombok이 전혀 실행되지 않은 것처럼 오류가 발생하는데 이는 javac 컴파일 단계에서 발생하는 버그이며 수정하기 쉽지 않은 버그라고 나와있습니다.
이를 해결하는 방법은 두가지 입니다.
- 점 표기법을 지켜 객체의 프로퍼티와 메소드에 접근한다.
- @Builder의 모든 정적 import를 들고오는 것이 아닌 단일 import를 들고온다.
제가 처음 사용했던 방법으로 그대로 사용하는 것입니다.
'Trouble' 카테고리의 다른 글
[TEST] 우아한 프리코스 테스트 코드 알아보기 (0) | 2024.10.26 |
---|---|
[TEST] System.out 과 System.in 의 테스트 방법 (0) | 2024.10.24 |
[Git] 첫 번째 커밋 삭제 시 reset 으로 삭제하면 안 되는 이유 (0) | 2024.08.17 |
[QueryDSL] 컬렉션 fetchJoin 페이징 applying in memory (0) | 2024.08.08 |