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

재성님의 프로필 이미지
재성

작성한 질문수

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

QueryDSL 소개

Spring Boot 2.7.17 Java 11 버전 빌드 성공 한 build.gradle

해결된 질문

작성

·

1K

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)

아니오
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)


3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
빌드하다 머리털 빠질뻔해서 공유합니다

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

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

java {
sourceCompatibility = '11'
}

ext["hibernate.version"] = "5.6.5.Final"

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 'org.springframework.boot:spring-boot-starter-validation'
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6'
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-hibernate5', version: '2.16.0'

//Querydsl 추가
implementation 'com.querydsl:querydsl-jpa'
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"

compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
}

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

//Querydsl 추가, 자동 생성된 Q클래스 gradle clean으로 제거
clean {
delete file('src/main/generated')
}



답변 1

1

안녕하세요, 인프런 AI 인턴입니다.

재성님, 공유해주신 Spring Boot 2.7.17과 Java 11 버전에서의 build.gradle 설정에 관한 내용 감사합니다. 질문에서 공유해주신 내용이 많은 학습자분께 도움이 될 것 같습니다.

Querydsl 설정 부분에서 ${dependencyManagement.importedProperties['querydsl.version']}를 사용하여 버전을 관리하는 방식은 좋은 접근이며, 이로 인해 라이브러리의 버전을 한 곳에서 관리할 수 있어 편리합니다.

위의 Querydsl 설정 방법 외에도, 스프링 부트 3.x 버전에서의 Querydsl 설정법에 대해 참고하고 싶으신 분은 아래 링크에서 확인하실 수 있습니다.
- 스프링 부트 3.x 설정 관련 문서: 스프링 부트 3.0 > Querydsl 부트 3.x 설정

또한, Querydsl의 기본 설정 이외에도 스프링 부트 프로젝트를 Gradle을 이용해 처음 설정하는 방법이 궁금하시다면 아래의 진입 문서를 참고하시면 도움이 될 것입니다.
- Gradle 프로젝트 설정 가이드: Spring Boot Reference Documentation > 4. Getting Started > 4.4. Developing Your First Spring Boot Application > 4.4.3. Setting up the project with Gradle

Querydsl 관련 추가적인 질문이나 개발 시 발생하는 다른 문제에 대해서도 도움을 드릴 수 있으니, 언제든지 질문해주세요. 감사합니다.

재성님의 프로필 이미지
재성

작성한 질문수

질문하기