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

박형근님의 프로필 이미지

작성한 질문수

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

QueryDSL 소개

src/main/generated에 Q... 파일들이 생성이 안됩니다.(build의 generated에는 생성됌.)

22.02.24 17:06 작성

·

1.9K

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
제목 그대로 src에는 생성이 안됍니다.
 
build/generated/querydsl/jpabook/jpashop/domain 에는 생성이 되서 코딩은 가능하나 원인이 무엇인지 궁금합니다.
 
gradle 설정은 실전! Querydsl에
* 스프링 부트 2.6 이상, Querydsl 5.0 지원 방법 추가

를 참고했습니다.

답변 2

2

김영한님의 프로필 이미지
김영한
지식공유자

2022. 02. 27. 13:22

안녕하세요. 박형근님

해당 위치는 gradle 빌드 위치인데요.

build/generated/querydsl/jpabook/jpashop/domain 의 위치에 생성된 코드가 만들어지도록 의도한 것으로 보시면 됩니다.

생성된 파일은 보통 git에 함께 올려서 관리하지 않기 때문에 이렇게 빌드 폴더에 넣어두고, 관리하는 것이 더 나은 방법입니다. (빌드 폴더는 보통 git에 함께 올리지 않습니다.)

감사합니다.

0

박형근님의 프로필 이미지
박형근
질문자

2022. 02. 24. 18:54

buildscript {
ext {
queryDslVersion = "5.0.0"
}
}
plugins {
id 'org.springframework.boot' version '2.6.3'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
id 'java'
}
group = 'jpabook'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

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 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.0'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5'
//querydsl 추가
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}"

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

//테스트에서 lombok 사용
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'

testImplementation 'org.springframework.boot:spring-boot-starter-test'


}

//querydsl 추가 시작
//def querydslDir = 'src/main/generated'
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
configurations {
querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
//querydsl 추가 끝

tasks.named('test') {
useJUnitPlatform()
}