본문 바로가기
Trouble

[Lombok] @Builder 정적 가져오기 문제

by 되고싶은노력가 2024. 8. 17.

프로젝트를 하면서 @Builder 를 사용하는 경우가 흔한데 static으로 불러오는 과정에서 문제가 생겼습니다.

 

 

위와 같이 @Builder가 적용된 클래스에서 사용된 필드를 원하는 값으로 초기화 하고자 @Builder.Default 를 사용하였습니다.

 

 

 

그러다 @Builder.Default가 길다고 느껴져서 @Default로 바꾸고자 위와 같이 static으로 선언해서 가져오도록 바꿨는데 여기서 문제가 발생했습니다.

 

초기값을 주었지만 적용 X

 

이러한 문제를 해결하고자 여러 자료를 검색하다 아래와 같은 내용을 찾게되었습니다.

 

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 컴파일 단계에서 발생하는 버그이며 수정하기 쉽지 않은 버그라고 나와있습니다.

 

이를 해결하는 방법은 두가지 입니다.

  1. 점 표기법을 지켜 객체의 프로퍼티와 메소드에 접근한다.
  2. @Builder의 모든 정적 import를 들고오는 것이 아닌 단일 import를 들고온다.

제가 처음 사용했던 방법으로 그대로 사용하는 것입니다.

 

결과