티스토리 뷰
1. build.gradle 에 의존성 추가 및 Q class 설정
// ************* 최상단
buildscript {
ext {
queryDslVersion = "5.0.0"
}
}
// ************* 의존성 부분
// queryDSL 설정
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta"
implementation "com.querydsl:querydsl-core"
implementation "com.querydsl:querydsl-collections"
annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}:jakarta" // querydsl JPAAnnotationProcessor 사용 지정
annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드
annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드
// ************* 하단
// Querydsl 설정부
def querydslDir = 'src/main/generated'
// querydsl QClass 파일 생성 위치를 지정
tasks.withType(JavaCompile) {
options.getGeneratedSourceOutputDirectory().set(file(querydslDir))
}
// java source set 에 querydsl QClass 위치 추가
sourceSets {
main.java.srcDirs += [querydslDir]
}
// gradle clean 시에 QClass 디렉토리 삭제
clean {
delete file(querydslDir)
}
2. ".gitignore" 파일에 추가
/src/main/generated/
* 발생할 수 있는 오류들 해결
1. java.lang.NoClassDefFoundError:javax/persistence/Entity
2. attempt to recreate a file for type qclass
3. could not find class file for querydsl
4. Unable to load class 'javax.persistence.Entity'.
댓글
- Total
최근에 올라온 글