개발공부/JAVA

[JAVA] cannot find symbol method 에러 (Feat. Lombok Setter)

jnnjnn 2024. 12. 2. 22:49

 

문제 상황

Lombok 라이브러리를 사용했지만 @Setter 어노테이션이 제대로 적용되지 않아 cannot find symbol method가 뜨는 문제

 

 

 

해결 방법

 

1. Enable annotation processing 체크 표시를 해준다

 

 

2. annotationProcessor 의존성 추가

 

implementation('org.projectlombok:lombok') 만 추가했다면

 

annotationProcessor('org.projectlombok:lombok')

를 추가해준다

 

 

그래서 AnnotationProcessor란?

 

Annotation Processing이란 컴파일 시점에서 어노테이션을 처리하여 코드를 생성하거나 유효성을 검사하는 기능이다.

 

Lombok은 컴파일 시점에 @Setter 어노테이션을 확인하고 setter 메서드를 생성한다.

컴파일 후 class 파일에서 @Setter가 setter 메서드로 변환된 것을 확인할 수 있다.

 

그런데 annotationProcessor 기능이 활성화 되지 않았기 때문에 @Setter가 정상적으로 작동하지 않았던 것.