Spring
[Spring] Querydsl Q 파일 생성 Build 실패 - java: cannot find symbol
cheery7272
2022. 2. 7. 02:05
문제
: 프로젝트 빌드가 안됨 - Q 파일 생성 실패
해결
: build.gradle에 추가
// 빌드할때마다 complieQuerydsl 작업 전에 generated/querydsl package를 삭제하고
// 다시 컴파일
compileQuerydsl{
if(file(querydslSrcDir).exists() )
delete(file(querydslSrcDir))
}
Build.gradle 설정 추가
buildscript {
ext {
querydslVer = '1.0.10'
}
}
dependencies {
implementation 'com.querydsl:querydsl-jpa:5.0.0'
implementation 'com.querydsl:querydsl-apt:5.0.0'
implementation 'com.querydsl:querydsl-mongodb:5.0.0'
}
def querydslSrcDir = "$buildDir/generated/querydsl"
querydsl {
jpa = true
springDataMongo = true
library = "com.querydsl:querydsl-apt"
querydslSourcesDir = querydslSrcDir
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
configurations {
querydsl.extendsFrom compileClasspath
all*.exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
all*.exclude group: 'org.springframework.boot', module: 'logback-classic'
}
sourceSets {
main {
java {
srcDirs = ['src/main/java', querydslSrcDir]
}
}
}
task deleteGeneratedSources(type: Delete) {
delete file(querydslSrcDir)
}
tasks.withType(JavaCompile) { it.dependsOn('deleteGeneratedSources') }
compileQuerydsl {
if(file(querydslSrcDir).exists() )
delete(file(querydslSrcDir))
}