如何使用Gradle 5.x生成JPA Metamodel

问题描述 投票:6回答:1

我目前正在尝试从gradle 4.8.1升级到5.1.1但是无法为我们的代码生成hibernate元模型。

问题是gradle 5忽略了使用编译类路径传递的注释处理器,但我找到的所有插件都使用它(即"-proc:only")。

我试图明确指定注释处理器,如gradle(https://docs.gradle.org/4.6/release-notes.html#convenient-declaration-of-annotation-processor-dependenciesannotationProcessor 'org.hibernate:hibernate-jpamodelgen'所指出的那样

但这没有帮助,我仍然得到以下错误:

警告:未请求编译但未找到处理器的注释处理。

也许插件需要更新,但正如我所说的,我发现所有插件都是通过类路径传递注释处理器。我们目前正在使用这个:https://github.com/Catalysts/cat-gradle-plugins/tree/master/cat-gradle-hibernate-plugin

java hibernate jpa gradle metamodel
1个回答
7
投票

你可以删除jpa modelgen的插件,然后使用

annotationProcessor('org.hibernate:hibernate-jpamodelgen:<version>')

另外,我使用这些设置来配置生成的代码应该存在的位置。

tasks.withType(JavaCompile) {
  options.annotationProcessorGeneratedSourcesDirectory = file("src/generated/java")
}


sourceSets {
    generated {
        java {
            srcDirs = ['src/generated/java']
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.