我正在评估将我的Web应用程序从Jboss7.1迁移到JBoss EAP 6.4,后者正式支持Java 8.作为其中的一部分,我安装了JBoss EAP 6.4和jdk1.8.0_45。
我的Web应用程序是基于Spring MVC的,因此我在JBoss模块文件夹下配置了所有必需的弹簧模块(<> \ modules \ system \ layers \ base \ org \ springframework \ main)。
完成所有这些配置后,当我尝试部署我的Web应用程序时,它失败并出现以下错误,
16:35:06,197 WARN [org.jboss.modules](MSC服务线程1-2)无法在Module" org.springframework:main&#34中定义类org.springframework.web.servlet.DispatcherServlet ;来自本地模块加载器@ 9e89d68(finder:local module finder @ 3b192d32(roots:C:\ localsetup \ jboss-eap-6.4 \ modules,C:\ localsetup \ jboss-eap-6.4 \ modules \ system \ layers \ base)) :org.jboss.modules.ModuleLoadError:org.jboss.interceptor:main at org.jboss.modules.ModuleLoadException.toError(ModuleLoadException.java:78)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.Module.getPathsUnchecked(Module.java:1392)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.Module.loadModuleClass(Module.java:563)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)[jboss-modules.jar:1.3.6.Final-redhat-1] at java.lang.ClassLoader.defineClass1(Native Method)[rt.jar:1.8.0_45] at java.lang.ClassLoader.defineClass(Unknown Source)[rt.jar:1.8.0_45] 在org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:361)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:277)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ModuleClassLoader $ 1.loadClassLocal(ModuleClassLoader.java:92)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.Module.loadModuleClass(Module.java:568)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.checkDeclaredApplicationClassAsServlet(JaxrsScanningProcessor.java:285) 在org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.scanWebDeployment(JaxrsScanningProcessor.java:152) 在org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.deploy(JaxrsScanningProcessor.java:103) 在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159)[jboss-as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] at org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1980)[jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1] at org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1913)[jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)[rt.jar:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)[rt.jar:1.8.0_45] at java.lang.Thread.run(Unknown Source)[rt.jar:1.8.0_45]
16:35:06,331 ERROR [org.jboss.msc.service.fail](MSC服务主题1-2)MSC000001:无法启动服务jboss.deployment.unit。" web.war" .POST_MODULE:服务jboss.deployment.unit中的org.jboss.msc.service.StartException。" web.war" .POST_MODULE:JBAS018733:无法处理部署的阶段POST_MODULE" web.war&# 34; 在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166)[jboss-as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] at org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1980)[jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1] at org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1913)[jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)[rt.jar:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)[rt.jar:1.8.0_45] 在java.lang.Thread.run(未知来源)[rt.jar:1.8.0_45] 引起:org.jboss.modules.ModuleLoadError:org.jboss.interceptor:main at org.jboss.modules.ModuleLoadException.toError(ModuleLoadException.java:78)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.Module.getPathsUnchecked(Module.java:1392)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.Module.loadModuleClass(Module.java:563)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)[jboss-modules.jar:1.3.6.Final-redhat-1] at java.lang.ClassLoader.defineClass1(Native Method)[rt.jar:1.8.0_45] at java.lang.ClassLoader.defineClass(Unknown Source)[rt.jar:1.8.0_45] 在org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:361)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:277)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ModuleClassLoader $ 1.loadClassLocal(ModuleClassLoader.java:92)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.Module.loadModuleClass(Module.java:568)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)[jboss-modules.jar:1.3.6.Final-redhat-1] 在org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.checkDeclaredApplicationClassAsServlet(JaxrsScanningProcessor.java:285) 在org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.scanWebDeployment(JaxrsScanningProcessor.java:152) 在org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.deploy(JaxrsScanningProcessor.java:103) 在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159)[jboss-as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] ......还有5个
有人可以帮助我,我错过了什么或做错了什么?
答案 0 :(得分:0)
对我来说,我有类似的问题。问题是该类在不止一个 jar 中可用,而 jboss 从错误的 JAR 中获取它。 我可以通过以下步骤解决它:
查找类(我已使用 Eclipse CTRL+SHIFT+T 完成)
选择一个较旧的 JAR
通过 mvn dependency:tree
搜索,JAR 被添加到类路径中
进入包含它的依赖项并添加排除项:
<依赖>