티스토리 뷰

QueryDSL을 추가하면서 빌드 위치를 바꾸기 위해 build.gradle을 업데이트했다.

그러나 gradle 새로고침 시 에러가 발생한다.

Unable to set prepareKotlinBuildScriptModel sync task.

 

 

찾아보니 다음과 같이 수정하면 된다.

나의 경우는 querydsl-apt 버전이 5.0.0인데 있지도 않은 jpa 모듈을 검색해서 문제가 되었고, jakarta로 변경해서 해결했다.

dependency를 평소에 잘 확인해 보자.

https://mvnrepository.com/artifact/com.querydsl/querydsl-apt/5.0.0

dependencies {
    // queryDSL 설정
    implementation "com.querydsl:querydsl-jpa"
    implementation "com.querydsl:querydsl-core"
    implementation "com.querydsl:querydsl-collections"
    annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}: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 generated = 'src/main/generated'

// querydsl QClass 파일 생성 위치를 지정
tasks.withType(JavaCompile) {
    options.getGeneratedSourceOutputDirectory().set(file(generated))
}

// java source set 에 querydsl QClass 위치 추가
sourceSets {
    main.java.srcDirs += [ generated ]
}

// gradle clean 시에 QClass 디렉토리 삭제
clean {
    delete file(generated)
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함