org.hibernate.integrator.spi.Integrator:Provider org.hibernate.envers.boot.internal.EnversIntegrator不是子类型

时间:2016-07-21 06:08:00

标签: spring hibernate jpa wildfly

我正在使用:

将我的Java Web应用程序从Jboss 7.1.1 Final迁移到Wildfly 10
  • spring 4.2.0,
  • hibernate 5.0.7,
  • jpa 2.1
  • 和Mysql数据库。

    尝试运行我的代码时出现以下错误。

  

2016-07-20 19:30:50,176 ERROR [org.jboss.msc.service.fail]   (ServerService线程池 - 61)MSC000001:无法启动服务   jboss.persistenceunit" CCP-耳-1.0-SNAPSHOT.ear / CCP-实体-1.0-SNAPSHOT.jar#ccpPU&#34 ;:   服务中的org.jboss.msc.service.StartException   jboss.persistenceunit" CCP-耳-1.0-SNAPSHOT.ear / CCP-实体-1.0-SNAPSHOT.jar#ccpPU&#34 ;:    java.util.ServiceConfigurationError:org.hibernate.integrator.spi.Integrator:Provider   org.hibernate.envers.boot.internal.EnversIntegrator不是子类型     在   org.jboss.as.jpa.service.PersistenceUnitServiceImpl $ 1 $ 1.run(PersistenceUnitServiceImpl.java:172)     在   org.jboss.as.jpa.service.PersistenceUnitServiceImpl $ 1 $ 1.run(PersistenceUnitServiceImpl.java:117)     在   org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:667)     在   org.jboss.as.jpa.service.PersistenceUnitServiceImpl $ 1.run(PersistenceUnitServiceImpl.java:182)     在   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)     在   java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:617)     在java.lang.Thread.run(Thread.java:745)at   org.jboss.threads.JBossThread.run(JBossThread.java:320)引起:   java.util.ServiceConfigurationError:   org.hibernate.integrator.spi.Integrator:Provider   org.hibernate.envers.boot.internal.EnversIntegrator不是一个子类型   java.util.ServiceLoader.fail(ServiceLoader.java:239)at   java.util.ServiceLoader.access $ 300(ServiceLoader.java:185)at   java.util.ServiceLoader $ LazyIterator.nextService(ServiceLoader.java:376)     at java.util.ServiceLoader $ LazyIterator.next(ServiceLoader.java:404)     在java.util.ServiceLoader $ 1.next(ServiceLoader.java:480)at   org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:324)     在   org.hibernate.integrator.internal.IntegratorServiceImpl。(IntegratorServiceImpl.java:40)     在   org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:213)     在   org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.buildBootstrapServiceRegistry(EntityManagerFactoryBuilderImpl.java:365)     在   org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl。(EntityManagerFactoryBuilderImpl.java:166)     在   org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:34)     在   org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:165)     在   org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:160)     在   org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:135)     在   org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:318)     在   org.jboss.as.jpa.service.PersistenceUnitServiceImpl.access $ 1100(PersistenceUnitServiceImpl.java:67)     在   org.jboss.as.jpa.service.PersistenceUnitServiceImpl $ 1 $ 1.run(PersistenceUnitServiceImpl.java:167)     ......还有7个

2 个答案:

答案 0 :(得分:1)

  • 您需要删除hibernate.cfg.xml并将配置从此文件移至persistence.xml

  • 然后您还要从WEB-INF/lib文件夹中删除所有hibernate文件,因为 WildFly 有自己的文件,这种情况也可能会发生冲突。 有关此问题的详细信息,请参见此链接:JBoss Community Forum

答案 1 :(得分:0)

我对Wildfly 10.0.0.Final也有类似的问题。在我的项目中,我们在项目的lib目录中包含所有与hibernate相关的库。但是jboss提供的库导致了冲突,因此我删除了<module xmlns="urn:jboss:module:1.3" name="org.hibernate">目录中module.xml文件中JBOSS_HOME\modules\system\layers\base\org\hibernate\main标记内的内容。我还删除了jboss-deployment-struture.xml中的hibernate库的依赖关系,

<exclusions> <module name="org.hibernate" slot="main"/> </exclusions>

在这些变化之后,我能够克服与hibernate相关的冲突问题。希望这会有所帮助。

请注意jboss-deployment-struture.xml单独更改尚未解决我的问题,module.xml文件中提到的更改是必需的。