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

2022-09-01 21:57:00

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

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

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

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

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


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

答案 2

推荐