⚡ 개요
spring boot 2.x 버전에 대한 지원이 이번년도를 기점으로 종료가 된다. 이에 따라 새로 나온 3.x 버전으로 내부 프로젝트를 변경을 진행을 해야될거 같아서 라이브러리의 충돌을 방지하기 위해서 신규 프로젝트로 종속성 및 설정등을 진행하고 기존 프로젝트에 적용을 하려고 했으나 시작 부터 에러가 발생한다...
⚡ 이슈 및 설정 관련 내용 정리
spring boot 3.x 버전에 대해서 공식 페이지에 나와있는 설명 및 추가적으로 바뀐 부분에 대해서 확인을 했었지만... 까먹고 설정을 하다가 이슈를 확인 하고 수정을 했다.
검색을 해보니 해당 문제를 접하는 개발자 분들이 많은거 같아서 정리를 해보려고 한다.
📚 개발 스텍
Kotlin
JAVA 17
Spring boot 3.1.4
Gradle 8.2.1
Querydsl -jpa / apt 5.0.0
어차피 기본적인 로직 및 설정 관련 내용을 체크하는것이기 때문에 kotlin에 익숙해지려고 사용했으면 JAVA와 크게 다른점은 없다고 생각한다.
문제가 발생한 부분을 보자.!
간단하게 JPAQueryFactory를 사용하려고 하는데 사용이 안된다.... 함수 호출이 안된단다 ....
뭔가 이상하다... import도 잘되어있고 gradle 설정도 잘한거 같은데 혹시 몰라서 clean / build 를 했으나 역시나 안된다.
클래스 내부로 들어가 보았다.
javax에서 import 문제가 발생하고 있다. 보자마자 지난 기억이 스쳐가면서 3.x 버전 내용을 다시 한번 확인 해보았다.
JavaEE 가 Jakarta EE 로 변경이 되었다.
분명.. 내부적으로 사용하고 있는 클래스에 전체적으로 큰 변화가 생길거라고 생각해서 적어놓았던 기억이 떠올랐다.
📚 gradle.build 설정
dependencies {
/* querydsl (기존)*/
implementation("com.querydsl:querydsl-jpa:5.0.0")
implementation("com.querydsl:querydsl-apt:5.0.0")
kapt("com.querydsl:querydsl-apt:5.0.0:jakarta")
/* querydsl (변경)*/
implementation("com.querydsl:querydsl-jpa:5.0.0:jakarta")
implementation("com.querydsl:querydsl-apt:5.0.0:jakarta")
kapt("com.querydsl:querydsl-apt:5.0.0:jakarta")
}
위의 코드와 같이 변경을 해서 라이브러리가 내부적으로 jakarta를 지원 하도록 변경을 해줘야 한다고 한다.
또한 다른 분들 설정을 보니 Qclass를 만들때 수동으로 경로를 지정하고 build / clean을 할때 처리 하도록 되어있는데 아직까지는 kapt를 사용한다면 어노테이션을 읽어서 build시, Qclass를 생성 해주니 사용해도 괜찮을거 같다.
추가적으로 jakarta 변경 되었으니 기존 코드에 적용시 에러가 발생하면 다시 한번 확인 해보는게 좋을거 같다. (기존 javaEE를 사용하는 경우도 존재한다고 한다.)
'Spring' 카테고리의 다른 글
[JPA] repository를 통해서 일부 컬럼만 조회하는 방법 정리 (0) | 2023.10.09 |
---|---|
[QueryDsl] new CaseBuilder() 내용 정리 (0) | 2023.10.07 |
[Spring] Spring Event 기능 구현하기 ApplicationEventPublisher 이용하기 (0) | 2023.08.05 |
[JPA] Spring Boot 에서 QueryDsl 사용 방법 정리 (0) | 2023.06.24 |
[Linux] JAVA에서 SFTP 접속 관련 이슈 사항 내용 정리 (0) | 2023.06.10 |