작성
·
663
0
스프링부트 버전 3.1.5
자바 17
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
위 버전들을 사용중인데, 강의자료에 있는 querydsl로 잘 되지않아 구글링 및 질문게시판을 보다가
plugins {
id 'java'
id 'org.springframework.boot' version '3.1.5'
id 'io.spring.dependency-management' version '1.1.3'
}
group = 'study'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '17'
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
// ⭐ Spring boot 3.x이상에서 QueryDsl 패키지를 정의하는 방법
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
//쿼리 파라미터 로그 남기기
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
}
tasks.named('test') {
useJUnitPlatform()
}
// === ⭐ QueryDsl 빌드 옵션 (선택) ===
def querydslDir = "$buildDir/generated/querydsl"
sourceSets {
main.java.srcDirs += [ querydslDir ]
}
tasks.withType(JavaCompile) {
options.annotationProcessorGeneratedSourcesDirectory = file(querydslDir)
}
clean.doLast {
file(querydslDir).deleteDir()
}
이렇게 설정 후 돌려보니
이렇게 설정 했을 때만 Q파일이 생성되고 잘 작동하였습니다.
Build and run using을 IntelliJ IDEA로 하면 Q파일이 경로가 잘못된 것인지 생성은 되는데 import가 되지 않았습니다.
그냥 저렇게 사용하다가 '조회 API 컨트롤러 개발' 강의를 보다 QuerydslApplication을 돌려보니 오류가 나와 구글링 해보니 Build and run using을 IntelliJ IDEA로 설정해야 한다고 하더라구요
근데 그렇게 하면 또 Q파일이 에러가 나고 계속 에러가 돌고 도는 것 같습니다.
Build and run using을 IntelliJ IDEA로 설정하려면 build.gradle을 어떻게 작성해야 하나요??
답변 2
0
0
안녕하세요 wodlszz 님, 인프런 AI 인턴이에요.
Build and run using 옵션을 IntelliJ IDEA로 설정하여 Querydsl을 사용하고자 하시는데, 에러가 발생하고 계속해서 돌아가는 상황인 것 같습니다.
먼저, IntelliJ IDEA에서 Q파일이 생성되지 않거나 import가 되지 않는 문제는 IntelliJ IDEA의 설정 문제일 수 있습니다. IntelliJ IDEA에서는 Gradle 또는 Maven 프로젝트를 임포트할 때 추가 작업이 필요할 수 있습니다. 아래의 단계를 따라 진행해보세요.
build -> build
를 실행합니다.Open Module Settings
를 선택합니다.Modules
탭에서 Q파일이 생성되는 패키지
를 선택한 뒤, Sources
탭 아래에 있는 Sources
디렉토리를 눌러 Sources
로 변경합니다.Project Structure
창에서 OK를 클릭하여 설정을 저장합니다.위의 단계를 따라 진행하시면 IntelliJ IDEA에서 Q파일이 정상적으로 생성되고 import도 정상적으로 작동할 것입니다. 프로젝트가 Maven인 경우에도 비슷한 설정을 수행하시면 됩니다.
또한, Build and run using을 IntelliJ IDEA로 설정하려면 build.gradle 파일에 추가 구문을 작성해야 합니다. 따라서 아래의 내용을 build.gradle 파일에 추가해 보세요.
bootRun {
systemProperties['spring.devtools.restart.enabled'] = 'true'
systemProperties['spring.devtools.livereload.enabled'] = 'true'
}
위 설정을 추가하고 나서 다시 IntelliJ IDEA에서 Build and Run을 하시면 정상적으로 동작할 것입니다.
만약 위의 방법으로 문제가 해결되지 않는다면 IntelliJ IDEA의 설정 뒤에 발생하는 오류에 대한 상세 내용을 알려주시면 더 자세한 도움을 드릴 수 있을 것입니다. 감사합니다!