簡體   English   中英

引起:java.lang.ClassNotFoundException:com.querydsl.apt.jpa.JPAAnnotationProcessor

[英]Caused by: java.lang.ClassNotFoundException: com.querydsl.apt.jpa.JPAAnnotationProcessor

我在 springboot 項目中使用 gradle6+、openjdk11 和 querydsl 4.2.x,面臨如下問題

引起:java.lang.ClassNotFoundException:com.querydsl.apt.jpa.JPAAnnotationProcessor

在 gradle 腳本中,已添加

annotationProcessor 'com.querydsl:querydsl-apt:4.2.1:jpa'
    annotationProcessor "javax.annotation:javax.annotation-api:1.3.1"
    annotationProcessor 'org.springframework.boot:spring-boot-starter-data-jpa'
    compile("com.querydsl:querydsl-core:${project.querydsl}")
    compile("com.querydsl:querydsl-jpa:${project.querydsl}")

有人可以讓我幫助解決問題嗎?

我在 gradle 構建文件中解決並能夠編譯沒有這個 JPAProcessor 的 QClasses。 看起來是最新版本,在編譯 QClass 時我們不需要這個 JPAProcessor。 只需將注釋處理器作為依賴項就可以了。 Java 編譯能夠創建 QClass。 我剛用

annotationProcessor("com.querydsl:querydsl-apt:4.2.1:jpa")
annotationProcessor group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: project.springBoot
    annotationProcessor group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
    annotationProcessor group: 'org.hibernate.javax.persistence', name: 'hibernate-jpa-2.1-api', version: '1.0.2.Final'

在這里,我只需要三行(一旦我在項目中已經有了spring-boot-starter-data-jpa ):

implementation 'org.springframework.boot:spring-boot-starter-data-jpa:2.5.6'
annotationProcessor 'org.springframework.boot:spring-boot-starter-data-jpa:2.5.6'
implementation 'com.querydsl:querydsl-jpa:5.0.0'
annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jpa'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM