[QueryDSL] 최신! 환경설정
2024. 3. 6. 22:09ㆍMemorizing/Java
본 포스팅은 QueryDSL-JPA의 환경설정을 다룹니다.
문제 상황
- 김영한님 QueryDSL 강의 듣고 있는데, 강의에서 제공해준 메뉴얼대로 아래와 같이 gradle을 작성했는데 빌드가 제대로 안됨.
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')
}
해결 방법
- annotationProcessor에 있는 버전을 아래와 같이 수정하면됨.
- 아래와 같이 gradle을 작성한 후, build를 clean하고 compile을 진행하면됨.
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:5.0.0:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
}
tasks.named('test') {
useJUnitPlatform()
}
clean {
delete file('src/main/generated')
}
추가 문제 상황
- 위의 과정을 거치면 "build > generated >querydsl> study.querydsl.entity.QHello.java"가 있어야하는데, 아무리해도 안생기는 것!
추가 문제 해결 방법
- 알고보니 다른 폴더에 있었음.
- 왜 querydsl 폴더가 안생기는지 모르겠는데 하여튼 안생기고 다른 폴더에 생겼음.
'Memorizing > Java' 카테고리의 다른 글
[Java] 초간단! 쿠키, 세션, 토큰 (0) | 2024.02.29 |
---|---|
[Java] 제네릭 - 2 (0) | 2024.02.19 |
[Java] 제네릭 - 1 (0) | 2024.02.19 |
[Java] 프로세스와 스레드 - 4 (1) | 2024.02.17 |
[Java] 프로세스와 스레드 - 3 (0) | 2024.02.17 |