我正在使用:
将我的Java Web应用程序从Jboss 7.1.1 Final迁移到Wildfly 10和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个
答案 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文件中提到的更改是必需的。