일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- jenkins window
- jdk upgrade
- QureyDsl
- rbenv
- EC2
- 비즈뿌리오
- springboot
- 윈도우 개발서버
- Telegram API
- NoArgsConstructor
- thymeleaf
- push 403
- 카카오 알림톡
- AWS
- DynamoDB
- querydsl
- modelmapper
- docker
- 개발서버
- docker app
- layout-dialect
- growpart
- 알림톡
- spring boot
- telegram
- Kotlin
- 고정 아이피
- NoSQL Workbench
- jenkins bitbucket
- docker node
- Today
- Total
givepro
spring boot jdk upgrade (8 → 11) 본문
프로젝트를 하면서 오래된 버전의 프로젝트가 있었는데 버전을 올리고 싶었습니다.
(버전이 낮아서 진행하고자 했던 부분이 막혔던 기억)
그래서 버전 마이그레이션을 경험하고자 진행했던 내용을 기록해두었습니다.
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'
'백엔드 > SpringBoot' 카테고리의 다른 글
gradle error - NoClassDefFoundError (org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevel) (0) | 2023.04.11 |
---|---|
공공데이터 날씨 API 활용 (0) | 2022.10.28 |
JPA Specification 활용하여 다중 조건 쿼리문 구현 (0) | 2022.10.28 |
DTO 사용 시 참고사항 (@NoArgsConstructor, Mapper) (0) | 2022.10.27 |
Spring boot QureyDsl 설정 (멀티 모듈) (0) | 2022.10.25 |