1

关于如何设置项目有很多不同的信息,因此生成 JPA 元模型适用于构建,但这些都不适合我。我正在使用 Java 11、gradle 5.4.1 和 STS(尝试了 STS 3.9.8 和 4.2.1)。我的注释 gradle 设置如下所示:

annotationProcessor(
            "javax.xml.bind:jaxb-api",
            "org.projectlombok:lombok",
            "org.hibernate:hibernate-jpamodelgen",
)
compileJava {
    def relativePath = "out/production/classes/generated"
    sourceSets.main.java {
        srcDir(relativePath)
    }
    def generatedSourceDir = project.file(relativePath)
    options.annotationProcessorGeneratedSourcesDirectory = generatedSourceDir
}

我还完成了右键单击项目 > 属性 > Java 编译器 > 注释处理并选择:

  • 启用项目特定设置
  • 启用注释处理
  • 在编辑器中启用处理
  • 生成的源导向器设置为out/production/classes/generated

在 > 我选择的工厂路径中:

  • 启用项目特定设置
  • 添加了外部 JARhibernate-jpamodelgen-5.3.7.Final.jar
  • 添加了外部 JARjavax.persistence-api-2.2.jar

任何人都可以看到我错过或做错了吗?谢谢你。

4

1 回答 1

2

我使用net.ltgt.apt-eclipse插件让它运行。我关注了博客文章:http ://dplatz.de/blog/2018/gradle-apt.html

我正在使用 Eclipse 2019-03 和 Gradle 5.4.1

由于那里的博客描述了另一个注释处理器,我将在这里描述采取的步骤

  1. 导入net.ltgt.apt-eclipse插件。build.gradle外观如下:
plugins {
    id 'org.springframework.boot' version '2.1.4.RELEASE'
    id 'java'
    id "net.ltgt.apt-eclipse" version "0.18"    
}

apply plugin: 'io.spring.dependency-management'

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    compileOnly 'org.projectlombok:lombok:1.16.18'
    runtimeOnly 'com.h2database:h2'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'

    annotationProcessor(
            "javax.xml.bind:jaxb-api",
            "org.projectlombok:lombok",
            "org.hibernate:hibernate-jpamodelgen"
    )

}
  1. 从命令行执行以下命令:
gradle eclipseJdtApt eclipseFactorypath eclipseJdt
  1. 重新导入 gradle 项目。清洁的项目。右键单击项目并选择Gradle / Refresh Gradle Project. 然后,Project / Clean

  2. 检查 JPA 注释处理器是否存在Properties / Java Compiler / Annotation Processing / Factory Path注:我有以下条目,按顺序:

    • jaxb-api-2.3.1.jar
    • lombok-1.18.6.jar
    • hibernate-jpamodelgen-5.3.9.Final.jar
    • javax.activation-api-1.2.0.jar -jboss-logging-3.3.2.Final.jar
  3. 运行构建

请注意,我删除了生成文件的自定义目录,它们现在生成为.apt_generated,但我对此感到满意。

希望有帮助!

于 2019-05-15T08:49:15.427 回答