givepro

spring boot jdk upgrade (8 → 11) 본문

백엔드/SpringBoot

spring boot jdk upgrade (8 → 11)

givepro 2022. 10. 28. 14:21
반응형

프로젝트를 하면서 오래된 버전의 프로젝트가 있었는데 버전을 올리고 싶었습니다.

(버전이 낮아서 진행하고자  했던 부분이 막혔던 기억)

그래서 버전 마이그레이션을 경험하고자 진행했던 내용을 기록해두었습니다.

 

1. QueryDsl

4.3.1 → 5.0.0 변경시도

- 빌드 문제없음

- jar 실행 잘되

 

추가 확인된 내용

- 인텔리제이 2019.X 사용: 그레이들 플러그인 “com.ewerk.gradle.plugins.querydsl” 사용

- 인텔리제이 2020.X 사용: 그레이들 annotationProcessor 사용 (단 gradle 버전 5 이상 사용)

 

2. gradle

4.10.2 → 6.9.2으로 변경

 

참고내용

- 스프링 부트 2.3 부터 그레이들 6.3+ 이상을 요구한다

- NoClassDefFoundError 발생 시 gradle 버전을 5.X 이후 버전으로 변경 필요

 

annotationProcesso 사용 시 querydsl build.gradle 추가 내용

implementation group: 'com.querydsl', name: 'querydsl-jpa', version: querydslVersion
implementation group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion
implementation group: 'com.querydsl', name: 'querydsl-core', version: querydslVersion

annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion
annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion, classifier: 'jpa'

annotationProcessor("jakarta.persistence:jakarta.persistence-api:2.2.3")
annotationProcessor("jakarta.annotation:jakarta.annotation-api:2.0.0")

 

여기서 이상한 부분은 annotationProcessor로 jakarta를 추가했는데 버전을 위처럼 안하면 (최신버전 사용) 아래 에러가 발생NoClassDefFoundError

 

implementation group: 'com.querydsl', name: 'querydsl-jpa', version: querydslVersion implementation group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion implementation group: 'com.querydsl', name: 'querydsl-core', version: querydslVersion annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion, classifier: 'jpa' annotationProcessor("jakarta.persistence:jakarta.persistence-api:2.2.3") annotationProcessor("jakarta.annotation:jakarta.annotation-api:2.0.0")

 

3. jdk

8 → 11 변경

lombok version 1.18.6 → 1.18.20 변경

추가된 라이브러리

implementation group: 'org.yaml', name: 'snakeyaml', version: '1.31'
implementation group: 'org.javassist', name: 'javassist', version: '3.25.0-GA'
Comments