작성
·
28
·
수정됨
0
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.5'
id 'io.spring.dependency-management' version '1.1.6'
}
group = 'study'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
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'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
//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"
}
clean {
delete file('src/main/generated')
}
tasks.named('test') {
useJUnitPlatform()
}
위와 같이 build.gradle 작성했고 clean 후 compile.Java ( compile.Querydsl이 없음) 했지만 아무것도 생기지 않습니다.
구글링 해서 다 적용해봐도 안되는데 어떻게들 하셨나요
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
이지수님께서 Gradle에서 QueryDSL 설정 후에도 QHello 클래스가 생성되지 않는 문제를 겪고 계신 것 같습니다. 이 문제는 주로 annotationProcessor
설정이나 소스 디렉토리 지정과 관련된 부분에서 발생할 수 있습니다.
해결 방법:
올바른 QueryDSL 설정 확인:
build.gradle
파일에서 annotationProcessor
와 관련된 부분을 확인해 보세요. 이미 설정되신 내용이 문제 없는 것 같습니다만, 정확히 설정되어 있는지 다시 한번 검토해 보시기 바랍니다.Source Set 수정:
build.gradle
에 다음 코드를 사용하여 QueryDSL로 생성된 Q 클래스의 경로를 명시적으로 설정해 보세요.sourceSets {
main {
java {
srcDirs += "src/main/generated"
}
}
}
클린 빌드 후 재시도:
out
이름을 가진 폴더가 보이는 경우 삭제하십시오.gradle clean
, gradle build
명령어를 차례로 실행해 보세요.이와 유사한 문제를 다룬 기존의 답변을 참고하시면 도움이 될 것입니다:
위의 방법과 링크가 문제 해결에 도움이 되길 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.