해결된 질문
작성
·
680
1
안녕하세요
현재 프로젝트 세팅 및 테스트를 진행 중입니다.
spring boot가 3이상으로 제한된 상황속에서 진행중이며, 강의 내용을 따라하고 있습니다!
build.gradle은 https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.vfy9wirpglmx
를 복/붙 하였습니다.
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.0'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'study'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//test 롬복 사용
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
//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()
}
clean {
delete file('src/main/generated')
}
질문은 크게 3가지입니다.
build/other/compileQuerydsl은 표기가 안되는데 다른 답변을 보니 springboot3으로 올라가며 compileQuerydsl은 표기가 안된다고 하신 것 같은데 맞을까요?
정확한 Q파일의 생성 위치가 궁굼합니다.!
강의상에서는 src/main에 둬도 괜찮지만, 버전관리 시스템(git)에는 추가 되지 않는게 좋다고 하셨던 것 같은데 맞나요?
build에만 Q파일이 생성되는게 좋나요?
올려주신 google doc의 build.gradle로 진행하면, Q파일이 build/annotationProcessor아래 생성됩다...
뭐가 문제일까요?
docs에 올려주신 build.gradle에서 build clean을 진행할 때 'src/main/generated'의 폴더를 삭제하는 이유가 무엇일까요? (현재 저는 Q파일을 build/ 아래 관리하고있는데, src/main/generate 아래 Q파일을 생성하시는 분들에만 해당 되는 내용인가요?)
답변해주시면 감사하겠습니다!
답변 2
1
안녕하세요. 김주영님
Setting -> Gradle 설정에 보면 IntelliJ에서 프로젝트를 빌드하는 방법이 2가지가 있습니다.
IntelliJ IDEA에서 빌드
Gradle에서 빌드
네 맞습니다. 이제는 단순히 실행이나 빌드만 하면 자동으로 Q 파일이 생성됩니다.
IntelliJ 빌드와 Gradle 빌드에 따라 생성 위치가 달라집니다. 지금은 Gradle 빌드를 권장합니다. 이 경우 build 폴더에 생성됩니다. build 폴더 자체가 버전관리 시스템에 포함되지 않기 때문에 문제가 없습니다.
해당 폴더에 생성되어도 인식만 되면 괜찮습니다.
IntelliJ 빌드를 사용하는 경우 해당 폴더에 Q 파일이 생성됩니다. 지금은 Gradle 빌드를 권장하기 때문에 이 부분은 무시하셔도 괜찮습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
질문 주신 내용에 대한 유사한 상황을 겪은 다른 수강생의 질문과 강사님의 답변을 찾았습니다. 해당 답변은 Spring Boot 3.0 이상 버전에서 QueryDSL 설정에 대한 내용을 포함하고 있으며, Q 파일 생성 위치와 관련된 질문에 대한 해결 방법을 제시하고 있습니다.
Q 파일이 생성되는 위치와 관련하여, build 폴더 안에 생성되는 것이 일반적인 설정 방법입니다. 강사님은 build 폴더에 Q 파일이 생성되도록 의도한 것으로 보시면 된다고 답변하셨습니다. git에는 보통 함께 올리지 않는 것이 좋다는 의견을 제시하셨습니다.
compileQuerydsl 작업이 Gradle 태스크에 표시되지 않는 문제와 관련하여, 강사님이 참고하라고 안내해주신 링크를 확인해보시면 도움이 될 것 같습니다.
아래는 관련된 질문과 강사님의 답변 링크입니다. 자세한 내용은 링크를 통해 확인하실 수 있습니다.
질문 제목: SpringBoot 3.0.2 버전 QueryDSL 설정문제
질문 제목: build관련 질문드립니다.
감사합니다.
헉..감사합니다!! 모든 고민 지점이 해결 됐습니다.
강의 잘 듣고있습니다!