在wildfly 8.2服务器中启动ContextLoaderListener期间的classNotfoundException
Posted
技术标签:
【中文标题】在wildfly 8.2服务器中启动ContextLoaderListener期间的classNotfoundException【英文标题】:classNotfoundException during startup of ContextLoaderListener in wildfly 8.2 server 【发布时间】:2015-05-30 04:38:31 【问题描述】:服务器启动时出现以下错误。
应用服务器:Wildfly 8.2 SpringVersion:3.0.6.RELEASE 轻松:3.0.10.Final resteasy-spring:3.0.10.Final
请告知如何解决此问题。 spring-web jar 是 EAR 库的一部分。
02:13:34,758 错误 [org.jboss.msc.service.fail](MSC 服务线程 1-3)MSC000001:无法启动服务 jboss.deployment.subunit。“DisbursementsEAR-0.0.1-SNAPSHOT.ear "."DisbursementsWeb-0.0.1-SNAPSHOT.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."DisbursementsEAR-0.0.1-SNAPSHOT.ear"."DisbursementsWeb-0.0. 1-SNAPSHOT.war".POST_MODULE: JBAS018733: 未能处理部署“DisbursementsEAR-0.0.1-SNAPSHOT.ear”的子部署“DisbursementsWeb-0.0.1-SNAPSHOT.war”的阶段 POST_MODULE 在 org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.2.0.Final.jar:8.2.0.Final] 在 org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] 在 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_51] 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51] 在 java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51] 引起:java.lang.LinkageError:无法链接org/jboss/resteasy/plugins/spring/SpringContextLoaderListener(模块“deployment.DisbursementsEAR-0.0.1-SNAPSHOT.ear.resteasy-spring-3.0.10.Final.jar: 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] 在 java.lang.Class.forName0(本机方法)[rt.jar:1.7.0_51] 在 java.lang.Class.forName(Class.java:270) [rt.jar:1.7.0_51] 在 org.jboss.as.server.deployment.reflect.DeploymentClassIndex.classIndex(DeploymentClassIndex.java:54) [wildfly-server-8.2.0.Final.jar:8.2.0.Final] 在 org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:85) 在 org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:77) 在 org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.2.0.Final.jar:8.2.0.Final] ... 5 更多 引起:java.lang.NoClassDefFoundError: org/springframework/web/context/ContextLoaderListener 在 java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_51] 在 java.lang.ClassLoader.defineClass(ClassLoader.java:800) [rt.jar:1.7.0_51] 在 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] ... 19 更多 引起:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 来自 [Module "deployment.DisbursementsEAR-0.0.1-SNAPSHOT.ear.resteasy-spring-3.0.10.Final.jar:main" 来自 Service模块加载器] 在 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] ... 23 更多
【问题讨论】:
【参考方案1】:解决了。 Jar 需要放在 EAR 中的内部“lib”文件夹中,而不是 META-INF/lib 或放在 EAR 中。
【讨论】:
以上是关于在wildfly 8.2服务器中启动ContextLoaderListener期间的classNotfoundException的主要内容,如果未能解决你的问题,请参考以下文章
EJB,JPA persistence.xml问题Wildfly 8.2 intellij
如何在wildfly 8.2 Final中将lib添加到模块中?