스프링부트 3.0에서 Querydsl 변경사항
신규 프로젝트에서 스프링부트 3.0.4 버전에서 Querydsl 사용하는데 설정 과정에서 아래와 같은 오류가 발생했습니다.
(build.gradle 파일은 최하단에 참조)
스프링부트 버전이 3.0으로 올라가면서 JavaEE가 아닌 Jakarta EE를 지원한다고 합니다. 때문에 javax의 패키지를 jakarta.*으로 변경해야 합니다.
Build.gradle 파일에서 Querydsl 설정하기
build.gradle 파일
buildscript {
ext {
queryDslVersion = "5.0.0:jakarta"
}
repositories {
}
dependencies {
}
}
plugins {
id 'java'
id 'org.springframework.boot' version '3.0.4'
id 'io.spring.dependency-management' version '1.1.0'
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}
group = 'com.heth'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
/**
* 인텔리제이 롬복 설정에 의한 코드인듯..?
*/
configurations {
compileOnly {
extendsFrom annotationProcessor
}
querydsl.extendsFrom compileClasspath
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'io.projectreactor:reactor-test'
}
tasks.named('test') {
useJUnitPlatform()
}
/**
* queryDSL 설정 추가
*/
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
configurations {
querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
/**
* queryDSL 설정 끝
*/
참조: https://post.dooray.io/tech-insight/back-end/4173/
스프링 부트 3.0 으로 전환 - Dooray! POST
2022년 11월에 기존의 Spring framework 5 와 Spring Boot 2.X 버전을 대체하는 Spring framework 6와 Spring Boot 3 가 릴리즈되었습니다. 어떤 변화가 있고, 어떻게 설정해야 할지 알아봅니다
post.dooray.io
'Spring > JPA & Querydsl' 카테고리의 다른 글
JPA Auditing (0) | 2023.03.20 |
---|