【发布时间】:2019-10-01 08:29:30
【问题描述】:
关于如何设置项目有很多不同的信息,因此生成 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
在 > 我选择的工厂路径:
- 启用项目特定设置
- 添加了外部 JAR
hibernate-jpamodelgen-5.3.7.Final.jar - 添加了外部 JAR
javax.persistence-api-2.2.jar
任何人都可以看到我错过或做错了吗?谢谢。
【问题讨论】:
-
是 Eclipse 特有的问题吗? (如果您手动运行 gradle 会生成文件吗?)我尝试了您的设置,它对我来说非常适合(命令行和 IntelliJ)。有 2 个警告:annotationProcessors 出现在依赖部分中,这在您的代码中并不明显。最重要的是,由于 Gradle 5.2(和 Intellij 2019.1)最近的改进,
compileJava现在是多余的) -
@Lesiak 是的,如果我手动运行 gradle,则会生成文件。我想这意味着它是 Eclipse 特有的问题。如果有人知道应该如何配置 STS 以便生成元模型,那就太好了。
标签: spring-boot gradle spring-tool-suite java-11 jpa-2.2