스프링 프로젝트 초기 설정 도중, 테스트를 돌리자 variable userRepository not initialized in the default constructor
에러가 발생했다.
생성자를 Lombok을 이용하여 만들었는데, variable not initialized in the default constructor라는 에러가 발생했다면, Lomnok이 정상적으로 동작하지 않는다는 뜻으로 다음과 같은 상황을 의심해봐야한다.
Gradle 버전 확인
Gradle을 통해서 롬복 의존성 라이브러리를 추가해주었지만 동작하지 않는다면 자신의 Gradle 버전이 5.x 이상인지 확인해야한다.
그 이유는 Gradle 버전이 올라가면서 Lombok 의존성을 추가하는 방법이 바뀌었기 때문이다.
Gradle 버전은 프로젝트의 gradle ➡️gradle-wrapper.propertie에서 확인 가능하다.
필자는 gradle 버전이 8.3 이었다.
그렇다면 버전에 따라 의존성 라이브러리를 추가하는 방식이 어떻게 다른지를 확인해보자.
Gradle 5.x 미만
dependencies {
implementation 'org.projectlombok:lombok'
}
Gradle 5.x 이상
dependencies {
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}
역시나 위의 방식으로 의존성 라이브러리를 추가하고 있었고, 아래 코드로 변경하니 정상 작동하였다.
reference
'♾️Language & Framework > 🌿Spring' 카테고리의 다른 글
[Spring] - JPA DDL-Auto 사용 시 한글 설정 자동화 (0) | 2023.11.23 |
---|---|
[Spring] - 스프링 MySql 데이터베이스와 JPA 연동 (0) | 2023.11.20 |
[Spring 기술 면접 대비] - 2. @Controller VS @RestController (1) | 2023.11.10 |
[Spring 기술 면접 대비] - 1. IoC(Inversion of Control), 제어 역전이란? (Autowired를 쓰는 이유) (0) | 2023.11.07 |
[Spring Boot] Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.0.8...에러 해결하기 (0) | 2023.07.16 |