其他分享
首页 > 其他分享> > 如何使用Gradle 5.x生成JPA Metamodel

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

作者:互联网

我目前正在尝试从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-dependencies)
annotationProcessor’org.hibernate:hibernate-jpamodelgen’

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

warning: Annotation processing without compilation requested but no processors were found.

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

解决方法:

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

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

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

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

compileJava.options.compilerArgs += [
]

sourceSets {
    generated {
        java {
            srcDirs = ['src/generated/java']
        }
    }
}

标签:java,gradle,jpa,hibernate,metamodel
来源: https://codeday.me/bug/20190522/1152434.html