解决方案参考链接:https://stackoverflow.com/questions/19370879/jboss-start-exception-due-to-apache-cxf
在本地启动jboss时,会发出以下警告,但是不会影响程序运行
JBAS011006: Not installing optional component org.apache.cxf.transport.http.Servlet3ContinuationProvider$Servlet3Continuation due to exception: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011054: 无法找到 class org.apache.cxf.transport.http.Servlet3ContinuationProvider$Servlet3Continuation 的默认构造器
18:12:56,847 WARN [org.jboss.as.ee] (MSC service thread 1-2) JBAS011006: Not installing optional component org.apache.cxf.transport.http.Servlet3ContinuationProvider$Servlet3Continuation due to exception: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011054: 无法找到 class org.apache.cxf.transport.http.Servlet3ContinuationProvider$Servlet3Continuation 的默认构造器
at org.jboss.as.ee.component.ComponentDescription$DefaultComponentConfigurator.configure(ComponentDescription.java:625) [jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:80) [jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_45]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
这是由于 JBoss附带了不同版本的Apache CXF以构建其Web服务模块,存在版本冲突问题。
要解决此问题,我们需要执行两个步骤:
-
要在Jboss配置文件(例如standalone.xml)中删除Webservice模块:1)。 在session下,删除
<extension module="org.jboss.as.webservices"/>
2).在session下 , 删除 webservice subsystem
<subsystem xmlns="urn:jboss:domain:webservices:1.1"> ... </subsystem>
-
use the jboss-deployment-structure: 下面这个仅供参考
<deployment> <exclusions> <module name="org.apache.log4j"/> <module name="org.apache.commons.logging"/> <module name="org.slf4j" slot="main"/> <module name="org.dom4j" /> <module name="org.hibernate" /> <module name="org.hibernate.validator" /> <module name="org.xmlpull" /> </exclusions> </deployment> <sub-deployment name="myapp-1.0.0-SNAPSHOT.war"> <exclusions> <module name="org.apache.cxf" /> <module name="org.apache.neethi" /> <module name="javax.wsdl4j.api" /> <module name="org.apache.ws.security" /> <module name="org.apache.ws.xmlschema" /> </exclusions> </sub-deployment>