我正在使用Hibernate来为这样的主键使用UUID生成:
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name="system-uuid", strategy = "uuid")
private String id;
当我单独构建并运行包时,它正在工作
mvn clean package wildfly-swarm:package && jar -jar ...
但是调试应用程序失败了 . 在运行这样的应用程序时:
mvn wildfly-swarm:run -Dswarm.debug.port=5005
程序编译和调试会话正常启动,但在启动期间稍后失败,并显示以下错误消息:
引起:java.lang.ClassCastException:org.dom4j.DocumentFactory无法强制转换为org.dom4j.DocumentFactory“},”WFLYCTL0412:未安装所需的服务:“=> [”jboss.persistenceunit . \“app- 1.0.0-SNAPSHOT.war#myPU \“”],“WFLYCTL0180:缺少/不可用依赖项的服务”=> undefined}
基于一些谷歌搜索和阅读StackOverflow,问题是,依赖关系中引入的hibernate-core与类中的烘焙冲突 . Swarm使用Hibernate作为JPA提供程序 . 基于一些建议我添加了hibernate-core依赖,如下所示:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.12.Final</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
</exclusion>
</exclusions>
</dependency>
但它并没有帮助 . 在WildFly Swarm中使用Hibernate注释的正确方法是什么? WildFly Swarm版本是2017.10.0 .