我一直在尝试在Wildfly8.1上部署一个使用Hibernate 3.6的应用程序。
我的应用程序是一个EAR,它由war和ejb.jar组成。 在尝试了其他几件事后,我发现这个解决方案看起来很有希望: https://developer.jboss.org/message/882769
根据这个解决方案,我已经为hibernate 3.6指定了正确的提供程序,并包含了lib目录中所需的所有jar文件,但这不起作用!
我还发现此链接很有帮助:
非常感谢任何帮助!!
请在下面的服务器日志中找到错误:
错误[org.jboss.msc.service.fail](MSC服务主题1-8)MSC000001:无法启动服务jboss.deployment.unit。" xyz.ear&# 34; .FIRST_MODULE_USE:服务jboss.deployment.unit中的org.jboss.msc.service.StartException。" xyz.ear" .FIRST_MODULE_USE:JBAS018733:无法处理部署的阶段FIRST_MODULE_USE" xyz。耳" 在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166)[wildfly-server-8.1.0.Final.jar:8.1.0.Final] at org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1948)[jboss-msc-1.2.2.Final.jar:1.2.2.Final] at org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1881)[jboss-msc-1.2.2.Final.jar:1.2.2.Final] 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[rt.jar:1.7.0_71] at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)[rt.jar:1.7.0_71] 在java.lang.Thread.run(Thread.java:745)[rt.jar:1.7.0_71] 引起:java.lang.LinkageError:无法链接org / hibernate / ejb / HibernatePersistence(模块" deployment.xyz.ear:main"来自服务模块加载器) 在org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:487)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:277)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ModuleClassLoader $ 1.loadClassLocal(ModuleClassLoader.java:92)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.Module.loadModuleClass(Module.java:568)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)[jboss-modules.jar:1.3.3.Final] 在org.jboss.as.jpa.processor.PersistenceProviderHandler.deploy(PersistenceProviderHandler.java:74) 在org.jboss.as.jpa.processor.PersistenceBeginInstallProcessor.deploy(PersistenceBeginInstallProcessor.java:49) 在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159)[wildfly-server-8.1.0.Final.jar:8.1.0.Final] ......还有5个 引起:java.lang.NoClassDefFoundError:javax / persistence / spi / PersistenceProvider at java.lang.ClassLoader.defineClass1(Native Method)[rt.jar:1.7.0_71] 在java.lang.ClassLoader.defineClass(ClassLoader.java:800)[rt.jar:1.7.0_71] 在org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:361)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482)[jboss-modules.jar:1.3.3.Final] ......还有16个 引起:java.lang.ClassNotFoundException:来自[Module" deployment.xyz.ear:main"的javax.persistence.spi.PersistenceProvider来自服务模块加载器] 在org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)[jboss-modules.jar:1.3.3.Final] 在org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)[jboss-modules.jar:1.3.3.Final] ......还有20个
15:12:01,051 ERROR [org.jboss.as.controller.management-operation](控制器启动线程)JBAS014613:操作("添加")失败 - 地址:([(&#34 ;子系统" =>" jsr77")]) - 失败描述:{" JBAS014879:由于一个或多个间接依赖关系不可用,一个或多个服务无法启动。 #34; => { "无法启动的服务:" => [" jboss.jsr77.ejb&#34], "可能是原因的服务:" => [ " jboss.io.worker.default&#34 ;, " jboss.remoting.remotingConnectorInfoService.remoting连接器&#34 ;, " jboss.web.common.server" ] }} 15:12:01,122 ERROR [org.jboss.as.controller.management-operation](控制器启动线程)JBAS014613:操作("添加")失败 - 地址:([("子系统&# 34; =>"远程处理")]) - 失败描述:{" JBAS014771:具有缺失/不可用依赖性的服务" => [" jboss.remoting.endpoint.subsystem缺失[jboss.io.worker.default]"]} 15:12:01,135 ERROR [org.jboss.as.controller.management-operation](控制器启动线程)JBAS014613:操作("部署")失败 - 地址:([("部署&# 34; =>" xyz.ear")]) - 失败描述:{ " JBAS014671:服务失败" => {" jboss.deployment.unit \" xyz.ear \" .FIRST_MODULE_USE" => " org.jboss.msc.service.StartException in service jboss.deployment.unit。\" xyz.ear \" .FIRST_MODULE_USE:JBAS018733:无法处理部署FIRST_MODULE_USE部署\&#34 ; xyz.ear \" 引起:java.lang.LinkageError:无法链接org / hibernate / ejb / HibernatePersistence(Module \" deployment.xyz.ear:main \"来自Service Module Loader) 引起:java.lang.NoClassDefFoundError:javax / persistence / spi / PersistenceProvider 引起:java.lang.ClassNotFoundException:来自[Module \" deployment.xyz.ear:main \"的javax.persistence.spi.PersistenceProvider来自服务模块加载器]"}, " JBAS014879:由于一个或多个间接依赖项不可用,一个或多个服务无法启动。" => { "无法启动的服务:" => [ " jboss.deployment.subunit \" xyz.ear \" \" XYZ-ejb.jar \" .FIRST_MODULE_USE&#34 ;, " jboss.deployment.subunit \" xyz.ear \" \" xyz.war \" .FIRST_MODULE_USE" ] "可能是原因的服务:" => [ " jboss.io.worker.default&#34 ;, " jboss.remoting.remotingConnectorInfoService.remoting连接器&#34 ;, " jboss.web.common.server" ] } } 15:12:01,436 ERROR [org.jboss.as.controller.management-operation](控制器启动线程)JBAS014613:操作("添加")失败 - 地址:([("子系统&# 34; =>" webservices")]) - 失败描述:{" JBAS014771:具有缺失/不可用依赖性的服务" => [" jboss.ws.config缺少[jboss.web.common.server]"]} 15:12:01,450 ERROR [org.jboss.as.controller.management-operation](控制器启动线程)JBAS014613:操作("添加")失败 - 地址:([ ("子系统" =>"命名"), (" service" =>" remote-naming") ]) - 失败描述:{" JBAS014879:由于一个或多个间接依赖关系不可用,一个或多个服务无法启动。" => { "无法启动的服务:" => [" jboss.naming.remote&#34], "可能是原因的服务:" => [ " jboss.io.worker.default&#34 ;, " jboss.remoting.remotingConnectorInfoService.remoting连接器&#34 ;, " jboss.web.common.server" ] }} 15:12:01,940 ERROR [org.jboss.as.controller.management-operation](控制器启动线程)JBAS014613:操作("添加")失败 - 地址:([ ("子系统" =>" ejb3"), (" service" =>" remote") ]) - 失败描述:{" JBAS014771:具有缺失/不可用依赖性的服务" => [" jboss.ejb3.connector缺失[jboss.remoting.remotingConnectorInfoService.remoting-connector]"]} 15:12:02,393 INFO [org.jboss.as.server](ServerService线程池 - 28)JBAS018559:已部署" xyz.ear" (runtime-name:" xyz.ear") 15:12:02,570 INFO [org.jboss.as.controller](控制器启动线程)JBAS014774:服务状态报告 JBAS014775:新的缺失/不满足的依赖项: service jboss.io.worker.default(missing)dependents:[service jboss.remoting.endpoint.subsystem] service jboss.remoting.remotingConnectorInfoService.remoting-connector(missing)dependents:[service jboss.ejb3.connector] service jboss.web.common.server(missing)dependents:[service jboss.ws.config] JBAS014777:无法启动的服务:服务jboss.deployment.unit。" xyz.ear" .FIRST_MODULE_USE:服务jboss.deployment.unit中的org.jboss.msc.service.StartException。" xyz .ear" .FIRST_MODULE_USE:JBAS018733:无法处理部署的阶段FIRST_MODULE_USE" xyz.ear"
答案 0 :(得分:0)
好的,应用程序现在加载到wildfly 8.1.0.Final中。我们最终将Hibernate升级到4.1(默认情况下使用Wildfly打包)。由于这是默认设置,因此不需要“提供者”标签。我们更改了2个XML文件,即jboss-deployment-structure.xml& persistence.xml和应用程序中的java文件(由ServiceLocator组成)。