簡體   English   中英

Jboss EAP 6.4 無法在模塊中定義類 org.springframework.web.servlet.DispatcherServlet

[英]Jboss EAP 6.4 Failed to define class org.springframework.web.servlet.DispatcherServlet in Module

我正在評估將我的 Web 應用程序從 Jboss7.1 遷移到官方支持 Java 8 的 JBoss EAP 6.4。作為其中的一部分,我安裝了 JBoss EAP 6.4 和 jdk1.8.0_45。
我的 Web 應用程序是基於 Spring MVC 的,因此我在 JBoss 模塊文件夾(<>\\modules\\system\\layers\\base\\org\\springframework\\main)下配置了所有必需的 spring 模塊。
完成所有這些配置后,當我嘗試部署我的 Web 應用程序時,它失敗並出現以下錯誤,

16:35:06,197 WARN [org.jboss.modules](MSC 服務線程 1-2)無法在模塊“org.springframework:main”中定義類 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] at 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] 在 o rg.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 ] 在 java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.8.0_45] 在 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-mo dules.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] 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.deployment JaxrsScanningProcessor.scanWebDeployment(Jaxrs ScanningProcessor.java:152) 在 org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.deploy(JaxrsScanningProcessor.java:103) 在 org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.jbossService.java:159) -as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] 在 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] 在 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] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.8.0_45] 在 java.util .concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.8.0_45] 在 java.lang.Thread.run(Unknown Source) [rt.jar:1.8.0_45]

16:35:06,331 錯誤 [org.jboss.msc.service.fail](MSC 服務線程 1-2)MSC000001:無法啟動服務 jboss.deployment.unit."web.war".POST_MODULE: org.jboss.msc .service.StartException in service jboss.deployment.unit."web.war".POST_MODULE: JBAS018733: 無法在 org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.start(DeploymentUnitPhaseService)處處理部署“web.war”的階段 POST_MODULE .java:166) [jboss-as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] 在 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] 在 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] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.8 .0_45] 在 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.ConcurrentCla ssLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.6.Final-redhat-1] 在 java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.8.0_45] 在 java .lang.ClassLoader.defineClass(Unknown Source) [rt.jar:1.8.0_45] at 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.performL oadClassUnchecked(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) .jboss.as.jaxrs.deployment.JaxrsScanningProcessor.scanWebDeployment(JaxrsScanningProcessor.java:152) 在 org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.deploy(JaxrsScanningProcessor.java:103) 在 org.ep.jbosdserver .DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [jboss-as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] ... 5 mor 電子

有人可以幫助我,我錯過了什么或做錯了什么?

對我來說,我有類似的問題。 問題是該類在不止一個 jar 中可用,而 jboss 從錯誤的 JAR 中獲取它。 我可以通過以下步驟解決它:

  1. 查找類(我已經使用 Eclipse CTRL+SHIFT+T 完成了它)

  2. 比選擇一個舊的 JAR

  3. 使用mvn dependency:tree search from wich 依賴,JAR 被添加到類路徑中

  4. 轉到包含它的依賴項並添加排除項:

    <dependency> <!-- 使用舊版本類加載 JAR 的依賴項 --> <groupId>some.group</groupId> <artifactId>some.artifact</artifactId> <version>1.2.3</ version> <exclusions> <exclusion> <groupId>some.other.group</groupId> <artifactId>some.other.artifact</artifactId> </exclusion> </exclusions> </dependency>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM