본문 바로가기
프로그래밍/Java

[SpringBoot] lombok error variable not initialized in the default constructor 해결 방법

by 서울에서 살아가기 2023. 3. 23.

 

 

 

 

SpringBoot 프로젝트 개발 필수 라이브러리 중 하나인 lombok을 사용할 때 variable not initialized in the default constructor이라는 에러를 마주할 수 있습니다.

 

@Getter
@RequiredArgsConstructor
public class HelloResponseDto {
    private final String name;
    private final int amount;
}

 

@RequiredArgsContructor 어노테이션은 final 키워드를 사용하고 있는 속성들에 대해 생성자를 자동으로 생성해 주는데 lombok이 정상적으로 동작하지 않아 생성 에러가 발생한 것 입니다. Gradle 의존성 추가 시 에러가 발생하지 않아도 디버깅 시 발생하는 에러입니다.

 

 

해결 방법

Gradle 버전에 따라 lombok 의존성을 추가하는 방법이 변경되었습니다. 현재 프로젝트에서 사용중인 Gradle 버전을 확인하고 아래 버전에 따른 lombok 추가 방법을 참고해 주세요.

 

Gradle 5.0 버전 이전 (Gradel  5.0 포함 X)

dependencies {
    implementation('org.projectlombok:lombok')
}

 

Gradle 5.0 버전 이후 (Gradel  5.0 포함 O)

dependencies {
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
}

 

대부분 개발을 오래 하신 분들이 이전 Gradle 버전에 익숙하여 겪으실 것으로 예상됩니다. Gradle 버전에 유의하여 의존성 추가를 진행하시기 바랍니다.

 

 

 

 

 

반응형

댓글