我正在使用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 .