Lombok Getter, Setter 안됨 해결 방법 🚀
**Lombok**을 사용해 getter와 setter를 자동으로 생성하려 했는데 동작하지 않는 경우가 있습니다. 이러한 문제는 주로 설정 누락이나 IDE의 플러그인 문제로 발생합니다. 아래에서 원인과 해결 방법을 정리해보겠습니다.
1. 문제 발생 원인
**Lombok의 @Getter와 @Setter가 동작하지 않는 원인**은 다음과 같습니다:
- 프로젝트에 Lombok 의존성이 추가되지 않았거나 버전이 호환되지 않는 경우
- 사용 중인 IDE에 Lombok 플러그인이 설치되지 않은 경우
- **Annotation Processor** 설정이 활성화되지 않은 경우
- 프로젝트 빌드 설정이 올바르게 되어있지 않은 경우
2. 해결 방법
1️⃣ Lombok 의존성 추가
먼저 Lombok 의존성을 프로젝트에 추가해야 합니다.
Maven 사용 시
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
Gradle 사용 시
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
}
2️⃣ IDE 플러그인 설치
사용 중인 **IDE**에서 Lombok 플러그인이 설치되었는지 확인합니다.
- IntelliJ: File > Settings > Plugins > Lombok 검색 후 설치
- Eclipse: Help > Eclipse Marketplace > Lombok 설치
3️⃣ Annotation Processor 활성화
Annotation Processor 설정이 활성화되지 않으면 Lombok이 동작하지 않습니다.
- IntelliJ:
Settings > Build, Execution, Deployment > Compiler > Annotation Processors
로 이동 후 **"Enable annotation processing"** 체크
- Eclipse:
Project > Properties > Java Compiler > Annotation Processing
체크
4️⃣ 프로젝트 빌드 및 재컴파일
- 프로젝트를 **Clean**한 후 **Rebuild**합니다.
- 의존성 설정 후 IDE를 재시작합니다.
3. 확인 예제
다음은 Lombok의 @Getter와 @Setter를 적용한 예제입니다.
import lombok.Getter;
import lombok.Setter;
public class User {
@Getter @Setter
private String name;
@Getter @Setter
private int age;
public static void main(String[] args) {
User user = new User();
user.setName("홍길동");
user.setAge(30);
System.out.println("이름: " + user.getName());
System.out.println("나이: " + user.getAge());
}
}
위 코드에서 오류 없이 동작한다면 Lombok 설정이 정상적으로 완료된 것입니다.
4. 결론
**Lombok @Getter와 @Setter가 동작하지 않는 문제**는 대부분 의존성 추가, 플러그인 설치, Annotation Processor 설정으로 해결할 수 있습니다.
- IDE 플러그인 설치와 설정이 중요합니다.
- 버전 호환성과 빌드 설정을 확인하세요.
위 단계를 따라 설정하면 문제 없이 Lombok을 사용할 수 있습니다. 😊