jujuwon
시크릿주주
jujuwon
전체 방문자
11,697
오늘
0
어제
36
  • 분류 전체보기 (91)
    • 🔠 프로그래밍언어 (34)
      • ☕️ Java (19)
      • 🐠 Python (15)
    • 🔙 Backend (15)
      • 🌿 Springboot (12)
      • 🐳 컨테이너 (0)
      • ☁️ AWS (3)
    • 💼 CS (10)
      • 📶 Network (10)
    • 🕹 알고리즘 (4)
      • 📑 스터디 (2)
      • 💁🏻‍♂️ 백준 (2)
    • 📚 Book (8)
      • 🔎 오브젝트 (4)
      • 🧪 TDD (2)
      • 📜 논문 (2)
    • 🔐 보안 (7)
      • 👾 Pwnable (7)
    • 📝 회고 (4)
    • 🧩 etc. (9)
      • ⚠️ issue (2)
      • 💡 꿀팁 (6)
      • ✏️ 끄적 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

  • Python :: 5 - 여러 번 반복하는 일을 하자
    2021.05.31
    Python :: 5 - 여러 번 반복하는 일을 하자
  • Gradle :: Lombok 추가 시 이슈
    2022.06.26
    Gradle :: Lombok 추가 시 이슈
  • Spring Boot :: 처음 시작하는 Gradle 프로⋯
    2022.06.25
    Spring Boot :: 처음 시작하는 Gradle 프로⋯
  • 우리팀의 코딩 컨벤션 정하기
    2023.02.10
    우리팀의 코딩 컨벤션 정하기
  • GDB :: gdb 사용법 및 옵션 정리
    2021.04.09
    GDB :: gdb 사용법 및 옵션 정리

최근 글

  • RDS :: Too many connections 오류 해⋯
    2023.02.21
    RDS :: Too many connections 오류 해⋯
  • RDS :: Incorrect string value: '⋯
    2023.02.20
    RDS :: Incorrect string value: '⋯
  • 알고리즘 스터디 :: 입출력 (Java, Python)
    2023.02.17
    알고리즘 스터디 :: 입출력 (Java, Python)
  • 백준 :: 10951번 A+B-4 (Java, Python⋯
    2023.02.16
    백준 :: 10951번 A+B-4 (Java, Python⋯
  • 알고리즘 스터디 :: 알고리즘이란 ?
    2023.02.16
    알고리즘 스터디 :: 알고리즘이란 ?
hELLO · Designed By 정상우.
jujuwon

시크릿주주

Gradle :: Lombok 추가 시 이슈
🔙 Backend/🌿 Springboot

Gradle :: Lombok 추가 시 이슈

2022. 6. 26. 03:27
728x90
반응형

Annotation 을 사용하기 위해 build.gradle 에 dependency 를 추가하는 과정에서

여러 이슈들이 있었다.

오늘은 그 이슈들을 해결하는 과정을 리마인더하기 위해 적어보려 한다.

먼저 lombok 을 사용하기 위해 build.gradle 에 다음 문구를 추가했다.

 

implementation('org.projectlombok:lombok')

 

이후 아래 DTO 코드에 Annotation 을 추가하고 Unit test 를 진행했다.

 

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

 

테스트 코드를 실행했는데 아래 에러 발생..

https://deeplify.dev/back-end/spring/lombok-required-args-constructor-initialize-error

위 링크를 참조해보니 Gradle 버전이 올라가면서

Lombok 의존성을 추가하는 방법이 바뀌어서 발생한 문제였다.

 

 

dependency 를 바로 수정해주자.

 

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

 

이젠 되겠지 ~ 바로 실행.

 

 

또 에러.. 이번엔 아래와 같은 에러가 발생했다.

 

Cause: class lombok.javac.apt.LombokProcessor (in unnamed module @0x8a4313)
cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment 
(in module jdk.compiler) because module jdk.compiler does not export 
com.sun.tools.javac.processing to unnamed module @0x8a4313

 

번역하자면 Lombok 프로세서가 클래스에 액세스할 수 없다는 뜻이다.

검색해보니 JDK 특정 버전의 경우 Lombok 이 호환이 되지 않아서 생긴 문제였다.

해결방법은 두 가지인데

  • JDK 자바 버전을 수정한다.
  • Lombok 버전을 수정한다.

 

나는 dependency 에 Lombok 버전을 수정하는 두 번째 방식을 통해서 해결했다.

 

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

 

해결 !

728x90
    '🔙 Backend/🌿 Springboot' 카테고리의 다른 글
    • JPA :: Auditing 엔티티 공통 정보 추가하기
    • JUnit :: Test 실패 - No tests found for given includes
    • Spring Boot :: JPA란?
    • Spring Boot :: 처음 시작하는 Gradle 프로젝트 (build.gradle)
    gradle, lombok
    jujuwon
    jujuwon
    댓글쓰기
    Spring Boot :: JPA란?
    다음 글
    Spring Boot :: JPA란?
    Spring Boot :: 처음 시작하는 Gradle 프로젝트 (build.gradle)
    이전 글
    Spring Boot :: 처음 시작하는 Gradle 프로젝트 (build.gradle)

    티스토리툴바