如何使用Gradle 5.x生成JPA元模型

时间:2019-01-16 13:51:47

标签: java hibernate jpa gradle metamodel

我目前正在尝试从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

1 个答案:

答案 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']
        }
    }
}
相关问题