Java 10 上带有 JPA 静态元模型的 JHipster5 项目

JHipster5 project with JPA static metamodel on Java 10

我一直在尝试升级我的 JHipster 5 应用程序以使用 Java 10,但我无法使用 Maven 编译和处理 JPA 静态元模型。

显然 maven-compiler-plugin 没有触发 hibernate-jpamodelgen 以生成 JPA 静态元模型。

为了升级项目我有:

有了这个,我在 运行 ./mvnw clean compile 时遇到编译失败,没有更详细的错误消息。

如果我从 pom.xml 和 运行 中删除 <compilerArgs> 标签,我会得到相同的命令:java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

我已按照提供的升级说明进行操作 here

另外,我在 GitHub

上提供了这个示例项目

This 是我升级到 Java 10

的提交更改

为了在这里注册解决方案希望帮助其他人,这里是解决这个问题的方法:

原来是 Java 9 与 hibernate-jpamodelgen@5.2.16.Final 的兼容性问题。一旦我升级到 Hibernate 版本 5.3.1.Final 它又开始编译了。

我还必须解决 之后的 JAXB 依赖关系。

我遇到了同样的问题。使用 Java 10、SpringBoot 2.0.3、Hibernate 5.3.1 .

在 Gradle 中对我有用的是将 javax.xml.bind 也添加到 annotationProcessor :

annotationProcessor group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.0'

annotationProcessor group: 'org.hibernate', name: 'hibernate-jpamodelgen', version: '5.3.1.Final'

这样,hibernate-jpamodelgen 就不会再抱怨他缺少 javax.xml.bind 依赖了,因为它和他在同一个组 (annotationProcessor)