我正在使用gradle / querydsl和JPA 2.1。
我想使用APT(QEntities)生成querydsl元数据。
要做到这一点,我正在使用gradle-apt-plugin和gradle 4.7
在我的项目中,我使用:
配置了compileJava选项 compileJava {
options.annotationProcessorGeneratedSourcesDirectory = file("$projectDir/src/generated2/java")
}
在我的依赖项中,我添加了
compile 'org.springframework.boot:spring-boot-starter-data-jpa'"
annotationProcessor "com.querydsl:querydsl-apt:$querydslVersion:jpa"
spring starter添加了org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final jar,其中包含javax.persistence.Entity类到compileClasspath。
启动compileJava任务时出现错误:
caused by: java.lang.NoClassDefFoundError: javax/persistence/Entity at com.querydsl.apt.jpa.JPAAnnotationProcessor.createConfiguration(JPAAnnotationProcessor.java:37)
不明白为什么注释处理器无法加载此类。
答案 0 :(得分:6)
以防其他人正在搜索。这是我的完整解决方案(根据您的回复)。重要的部分是Private Sub bullet_movement_Tick(sender As Object, e As EventArgs) Handles bullet_movement.Tick
Dim B As Integer
For B = 0 To BulletNumberLeft
Bullet_arrayLeft(B).Left -= 10
If Bullet_arrayLeft(B).Bounds.IntersectsWith(Left_boundary.Bounds) Then
Me.Controls.Remove(Bullet_arrayLeft(B))
End If
If enemycount >= 0 Then
If Bullet_arrayLeft(B).Bounds.IntersectsWith(Enemyarray(enemycount).Bounds) Then
Me.Controls.Remove(Bullet_arrayLeft(B))
Me.Controls.Remove(Enemyarray(enemycount))
enemycount = enemycount - 1
End If
End If
Next
插件(还可以在eclipse中激活代码生成),以及最后三个querydsl依赖项。
net.ltgt.apt*