본문 바로가기

Programming!

Spring Boot 3 & Kotlin 2 & JPA (QueryDSL)

음.. 이 조합으로 기존 플젝을 업그레이드 하려고 하니 Gradle 버전부터 JDK 버전등등 신경써야 하는게 많았다.

 

웹과 GPT등등에 도움을 구해봤지만..역시 이상한 답변(주로 1.9.25환경 으로..)이라, github 토론장에 정보를 보면서 기본 세팅을 완료해본다.

 

우선 Gradle 8.5 이상, JAVA 21 이상으로 프로젝트의 세팅은 지정해줘야 했다. ( 그냥 권장으로 )

https://docs.gradle.org/8.5/release-notes.html

 

Gradle 8.5 Release Notes

Gradle Release Notes The Gradle team is excited to announce Gradle 8.5. Gradle now supports running on Java 21. This release features Kotlin DSL improvements, including faster first use and version catalog support in precompiled Kotlin script plugins. Addi

docs.gradle.org

New features and usability improvements
Full Java 21 support

 

이렇다는데 그럼 8.5로 가야겠지. Java Version의 경우는 이전 버전들의 플젝도 있고해서, Jenv로 스위칭 하는 것으로했다.

( 11이나 1.8 사용을 하면 Gradle 에서 오류가 있던것으로 기억한다. )

 

여튼, 환경을 저렇게 하고 신규 플젝을 IntelliJ에서 생성한 후, KSP에 맞도록 설정하면 끝나지 싶다.

참고로 예전부터 사용중인 QueryDSL의 경우 업뎃이 없어서, OpenFeging에서 진행하는 QueryDSL로 넘어갔다. 

https://github.com/OpenFeign/querydsl

 

GitHub - OpenFeign/querydsl: Unified Queries for Java

Unified Queries for Java. Contribute to OpenFeign/querydsl development by creating an account on GitHub.

github.com

 

전체 build.gradle.kts 는 github에서 보면 되고..

// 프러그인
plugins {
    ....
    id("com.google.devtools.ksp") version "2.1.10-1.0.29"
}

// 코드 생성 - QClass
ksp("io.github.openfeign.querydsl:querydsl-ksp-codegen:6.10.1")

 

우선 swagger-ui 띄워서 잘 가져오는 거 보니, 문제는 없어보이고..

이제 각 의존성 버전 정리와 모듈 처리, build script 재점검을 한 후 마무리 하면 될 듯하다.

https://github.com/KimHyeongi/spring-boot3-kotlin2

 

GitHub - KimHyeongi/spring-boot3-kotlin2: 최신버전이 좋은건 아니지만 이정도는 해둬봐야지...끄덕.

최신버전이 좋은건 아니지만 이정도는 해둬봐야지...끄덕. Contribute to KimHyeongi/spring-boot3-kotlin2 development by creating an account on GitHub.

github.com

 

그나저나 언제 플젝들 마이그레이션 하나...ㅎㅎ 다~ 시켜야겠다.