작성
·
59
0
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
안녕하세요.
강사님처럼 src/main/java 하위에 querydsl 폴더가 생기진 않고 build 폴더쪽에 파일이 생기고 있습니다.
하지만 에러는
error: Could not find class file for 'jpabook.jpashop.domain.OrderItem'.
이렇게 생기고 있습니다.
clean > build 하면 Q파일이 생기지않고
celan > other > compileQuerydsl 하면
위와 같이 엔티티를 찾을 수 없다는 에러가 발생하고 있습니다.
//querydsl
buildscript {
ext {
queryDslVersion = "5.0.0"
}
}
plugins {
id 'java'
id 'org.springframework.boot' version '3.4.5'
id 'io.spring.dependency-management' version '1.1.7'
//querydsl 추가
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}
//querydsl
apply plugin: "com.ewerk.gradle.plugins.querydsl"
group = 'jpabook'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-devtools'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5-jakarta'
//queryDSL
//implementation "com.querydsl:querydsl-jpa:5.0.0:jakarta"
//annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
}
tasks.named('test') {
useJUnitPlatform()
}
//querydsl 추가 시작
def querydslDir = layout.buildDirectory.dir("src/main/java").get().asFile
querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
querydsl.extendsFrom compileClasspath
}
//querydsl 추가 끝
제 build.gradle 이며
어노테이션 설정도 이렇게 되어 있지만 에러가 발생하고 있습니다!
확인부탁드립니다!
답변 2
0
안녕하세요. 6udguin님
스프링 부트 3.x를 사용중이시군요 🙂
강의 메뉴얼에 있는 다음 내용을 참고해주세요.
> 참고: 스프링 최신 버전에서는 Querydsl 설정이 달라진다. Querydsl 설정이 잘 안된다면 다음을 참고하자. 스프링 부트 2.x, 3.x 모두 참고할 수 있다.
직접 링크
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 6udguin님.
QueryDSL 관련 설정에 문제가 있어 Q파일 생성과 관련된 오류가 발생한 것으로 보입니다. 아래의 내용을 참고하여 설정을 수정해보세요.
QueryDSL 버전 명시: 현재 사용하고 계신 QueryDSL 버전과 플러그인 버전이 다른 부분이 있을 수 있습니다. queryDslVersion
를 사용하는 구문에서는 정확한 버전 정보가 포함되었는지 확인합니다.
Annotation Processor 경로 설정: annotationProcessor
에 추가된 QueryDSL 관련 설정이 맞는지 확인합니다. annotationProcessorPath
설정을 명확하게 지정해보세요.
Q파일 생성 경로 설정: build.gradle
파일에서 QueryDSL 관련 설정 중 src/main이 아닌, 적절한 build 경로 설정을 확인해야 합니다.
폴더 권한과 초기화: 기존에 생성된 Q파일들이 문제를 일으킬 수 있으니, 해당 파일을 삭제 후, 프로젝트를 클린하고 다시 빌드해보세요.
다른 비슷한 질문과 답변이 도움이 될 수 있으므로 다음 자료들도 참고해 보세요:
“SpringBoot 3.0.2 버전 QueryDSL 설정문제”: 버전 문제가 있을 때의 해결 방법.
“QueryDSL 설정과 검증”: 설정과 관련된 심도 있는 답변.
이런 내용을 따라 설정하신 후 빌드해보시면 문제 해결에 도움이 되실 것입니다. 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.