작성
·
311
·
수정됨
0
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.1'
id 'io.spring.dependency-management' version '1.1.5'
}
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'
implementation 'junit:junit:4.13.1'
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.1'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5'
implementation 'javax.persistence:javax.persistence-api:2.2'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
//test 롬복
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
//Querydsl 추가
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()
jvmArgs '-Xshare:off' // JVM 아규먼트 설정
}
clean {
delete file('src/main/generated')
}
이렇게 설정해둔 상태인데 gradle을 다시로드했음에도 other에 compilequerydsl 설정이 생기지 않는 상황이고, 다른방식으로 설정도 했었는데, 그때는 또 우측 gradle의 other에 compileQeurydsl 설정이 보여서 설정을 진행했고 프로젝트 generated 디렉토리가 생성되긴 했지만, generated 디렉토리 하위 파일들이 보이지 않습니다. 어떻게 해결할 수 있을까요? 커뮤니티의 내용들을 다 참고했지만 되지 않네요..
답변 2
2
안녕하세요. lib32님, 공식 서포터즈 OMG입니다.
올리신 build.gradle로 확인했을 때 제 환경에서는 정상적으로 Q파일이 생겼습니다.
올리신 buld.gradle을 기준으로 설명드리겠습니다.
(0) out이라는 이름을 가진 폴더가 프로젝트 폴더 경로에 보인다면 삭제 해주세요.
(1) build > clean 과 build를 순차적으로 진행해주세요.
(2) 위 이미지를 참고하여 Q클래스 생성을 확인해주세요.
추가 확인 사항
(1) Annotation Processing 설정여부
참고) https://jamong-icetea.tistory.com/392
(2) 캐시삭제
참고) https://es2sun.tistory.com/246
추가 확인사항도 진행했을 때 문제가 발생한다면 댓글 남겨주세요 😀
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
lib32님께서 직면하신 QueryDSL 설정 문제는 최근 버전의 Spring Boot(특히 3.x 이상)와 관련하여 자주 보고되는 문제점 중 하나입니다. Spring Boot의 주요 업데이트와 함께 몇 가지 변화가 생겼으며, 이로 인해 기존에 작동하던 설정 방식이 예상대로 작동하지 않을 수 있습니다.
lib32님의 질문과 유사한 상황을 해결한 기존 답변 링크를 찾았습니다. 이는 Spring Boot 3.x 버전에서 QueryDSL을 설정하는 방법에 대한 실제 해결책을 제공할 것입니다.
이 답변은 lib32님과 비슷한 상황에서 QueryDSL 설정 문제에 대한 해결책을 제시하고 있어, 링크를 통해 상세 설명과 해결 방법을 확인하시기 바랍니다. 기본적으로, build.gradle
파일 내 QueryDSL 관련 설정을 조정해주어야 하며, 특히 annotationProcessor
설정과 generated
소스 파일 위치 지정에 주의할 필요가 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.