
문제 상황

lombok을 설치 하고 활성화 시켰는데도 빌드 에러가 남
C:\Users\192293\helloSpring\src\main\java\mtak\dev\helloSpring\web\dto\HelloResponseDto.java:9: error: variable name not initialized in the default constructor
private final String name;
build.gradle

문제 해결
참고 자료 : https://deeplify.dev/back-end/spring/lombok-required-args-constructor-initialize-error
gradle 5.이하 버전과 이상 버전이 롬복을 추가하는 방식이 다름.
gradle 버전 확인 방법
7.4 버전임.
dependencies {
implementation 'org.projectlombok:lombok'
}
dependencies {
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}


하지만 다음과 같은 에러가 떴다.
Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':annotationProcessor'.
> Could not find org.projectlombok:lombok:.
Required by:
project :
Possible solution:
- Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html
추측한 문제 원인
HelloResponseDtoTest에서 롬복을 사용하는 클래스를 사용하였기 때문에 빌드가 안되었을 것이다.

시도한 방법
dependencies {
compileOnly("org.projectlombok:lombok")
testCompileOnly("org.projectlombok:lombok")
annotationProcessor("org.projectlombok:lombok")
testAnnotationProcessor("org.projectlombok:lombok")
}
하지만 여전히 위와 같은 에러가 떴다.
아래의 링크를 읽고, 방금 내가 시도한 방법에서 lombok.jar을 다운받지 않아서 발생한 것이라 생각이 들었고,
https://projectlombok.org/setup/gradle
인텔리제이에 추가한 플러그인을 사용하는 방향으로 build.gradle의 plugin 부분을 수정해주고, 위의 dependency를 다시 날렸다.
추가
plugins {
id("io.freefair.lombok") version "8.0.1"
}
날림
dependencies {
...
compileOnly("org.projectlombok:lombok")
testCompileOnly("org.projectlombok:lombok")
annotationProcessor("org.projectlombok:lombok")
testAnnotationProcessor("org.projectlombok:lombok")
...
}
이제 잘 된다!
문제 상황
dto 테스트를 진행하는 도중,
다음에 대한 테스트 메서드 생성 에서 함수를 고르지 않고 테스트 파일을 생성한 경우

아무리 테스트 코드를 작성해도 좌측에 초록 화살표가 안뜬다.

문제 원인
롬복이 제대로 빌드가 되지 않았기 때문에 인텔리제이에서 찐 롬복 클래스를 사용하는 테스트에 대해 초록 화살표를 안띄워 주었던 것이다.
문제 해결
롬복이 프로젝트에 잘 빌드되게 만들면 된다.