인프런 커뮤니티 질문&답변

!?님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

QueryDSL 소개

QueryDsl Q파일들이 안보입니다.

21.10.20 14:26 작성

·

1K

0

 

여기까진 잘 되는데 generated 폴더가 비어있고 혹시나해서

QOrder를 쳐봐도 잡히는 클래스 타입이 없네요

빌드 쪽도 설정해서 해봤는데 거기도 빈 폴더만 잡힙니다.

구글링해도 확실한 해결책이 없는것 같은데 어떡하죠...

 

답변 1

0

David님의 프로필 이미지

2021. 10. 20. 14:32

안녕하세요. !?님, 공식 서포터즈 David입니다.
.
build 설정 파일 내용을 공유 부탁드립니다.
.
감사합니다.

!?님의 프로필 이미지
!?
질문자

2021. 10. 20. 14:33

//querydsl 추가
buildscript {
dependencies {
classpath("gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.10")
}
}

plugins {
id 'org.springframework.boot' version '2.4.1'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
}

group = 'jpabook'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

//apply plugin: 'io.spring.dependency-management'
apply plugin: "com.ewerk.gradle.plugins.querydsl"

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-devtools'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5'
// implementation 'org.hibernate:hibernate-core:5.4.13.Final'

implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6'

compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'

annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//추가
testImplementation("org.junit.vintage:junit-vintage-engine") {
exclude group: "org.hamcrest", module: "hamcrest-core"
}

//querydsl 추가
implementation 'com.querydsl:querydsl-jpa'
//querydsl 추가
implementation 'com.querydsl:querydsl-apt'
}


//querydsl 추가
def querydslDir = 'src/main/generated'
//def querydslDir = "$buildDir/generated/querydsl"

querydsl {
library = "com.querydsl:querydsl-apt"
jpa = true
querydslSourcesDir = querydslDir
}

sourceSets {
main {
java {
srcDirs = ['src/main/java', querydslDir]
}
}
}

compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}

configurations {
querydsl.extendsFrom compileClasspath
}




현재 설정은 이렇습니다. 저기 def에 경로도 아래것으로도 해봤는데 똑같이 그 위치에 있는 폴더가 비어있습니다.

David님의 프로필 이미지

2021. 10. 20. 14:37

혹시 빌드 파일에 해당 내용을 추가하시고 나서 reimport를 하셨을까요?

 

전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

주의: 업로드시 권한 문제 꼭 확인해주세요

!?님의 프로필 이미지
!?
질문자

2021. 10. 20. 14:47

https://drive.google.com/file/d/1VA8P5XaUeiXgytTgZRWDwQIFhk_cshp6/view?usp=sharing

이쪽에 업로드 방법대로 압축해서 올렸습니다.

 

아 그리고 임포트도 다시 해봤어요

David님의 프로필 이미지

2021. 10. 20. 15:11

강의 내용 따라서 진행하셨을까요?

아래 compileQuerydsl task로 빌드시 QClass가 정상적으로 생성됩니다.

!?님의 프로필 이미지
!?
질문자

2021. 10. 20. 15:12

앗 그 소스코드 강의 자료로 주신거 빌드 해보고 다시 제가 가진 프로젝트 빌드 하니까 잘 됩니다.

 

제가 임포트를 제대로 안한거였네요

 

질문 봐주셔서 감사합니다~

!?님의 프로필 이미지

작성한 질문수

질문하기