IntelliJ @RequiredArgsConstructor 에러 해결
2023. 12. 7. 00:44ㆍJava
728x90
반응형
오류
아래 사진과 같이 build.gralde
파일에 lombok
의존성을 추가했다.

하지만 IntelliJ에서는 lombok 어노테이션을 인식하지 못하고, final 키워드의 멤버변수가 초기화 되지 않았다고 인식하여
문법 오류(빨간 줄)를 표시한다.

그런데 프로젝트를 빌드해보면 또 빌드가 잘된다.


Foo.class
파일을 보면 final 멤버변수 Bar
를 초기화하는 생성자가 잘 생성되어있다.
실제로는 lombok의 @RequiredArgsConstructor 이 잘동작한 것이다.
원인
lombok은 자바의 Annotation Processor를 사용하여 동작한다.
lombok의 어노테이션(@Getter, @Setter, @RequiredArgsConstructor 등)은 컴파일 시점에 분석 되고,
각 어노테이션에 맞게 코드를 추가해주기 위해 바이트코드를 조작한다.
IntelliJ는 컴파일 후 추가 될 바이트코드를 알 수 없기 때문에 문법오류라고 판단하여 빨간 줄을 표시하는 것이다.
해결방법
IntelliJ의 Lombok plugin을 추가하면 된다.
상단 탭 IntelliJ IDEA > Settings > Plugins Marketplace에서 설치 가능하다.

이 plugin을 설치하면 IntelliJ는 lombok이 추가할 코드를 인식하게 되고 빨간줄이 사라진다.
728x90
반응형