我目前正在尝试从gradle 4.8.1升级到5.1.1,但是无法为我们的代码生成休眠元模型。
问题在于gradle 5忽略了随编译类路径传递的注释处理器,但是我发现的所有插件都使用了此注释(即"-proc:only"
)。
我试图明确指定gradle(https://docs.gradle.org/4.6/release-notes.html#convenient-declaration-of-annotation-processor-dependencies所指出的注释处理器
annotationProcessor 'org.hibernate:hibernate-jpamodelgen'
但这无济于事,我仍然遇到以下错误:
警告:注释处理未请求编译,但未找到处理器。
也许插件也需要更新,但是正如我所说,我发现的所有插件都将注释处理器与类路径一起传递。目前,我们正在使用此版本:https://github.com/Catalysts/cat-gradle-plugins/tree/master/cat-gradle-hibernate-plugin
答案 0 :(得分:6)
您只需删除jpa modelgen的插件,然后使用
annotationProcessor('org.hibernate:hibernate-jpamodelgen:<version>')
通常,我使用这些设置来配置所生成的代码应存放的位置。
tasks.withType(JavaCompile) {
options.annotationProcessorGeneratedSourcesDirectory = file("src/generated/java")
}
sourceSets {
generated {
java {
srcDirs = ['src/generated/java']
}
}
}