1)
不安装可选组件 org.apache.cxf.transport.http.Servlet3ContinuationProvider $ Servlet3Continuation由于异常:org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011054: 找不到类的默认构造函数org.apache.cxf.transport.http.Servlet3ContinuationProvider $ Servlet3Continuation
2) 遇到服务类型'org.apache.cxf.bus.factory'的无效类名'org.springframework.context.ApplicationContext,org.springframework.beans.BeansException' JBAS015893:遇到无效的类名'org.xmlpull.mxp1.MXParser,org.xmlpull.mxp1_serializer.MXSerializer',用于服务类型'org.xmlpull.v1.XmlPullParserFactory'
我正在使用Jboss EAP 6.0,而portlet项目包含Apache cxf和spring配置来构建REST服务。 任何人都可以对这些例外情况有所了解,我用Google搜索并尝试跟踪但未成功。
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
<deployment>
<dependencies>
<module name="org.jboss.modules"></module>
</dependencies>
<exclusions>
<module name="org.jboss.ws.cxf" />
<module name="org.apache.cxf" />
<module name="org.jboss.ws.rs" />
<module name="org.jboss.resteasy.resteasy-atom-provider"/>
<module name="org.jboss.resteasy.resteasy-cdi"/>
<module name="org.jboss.resteasy.resteasy-jaxrs"/>
<module name="org.jboss.resteasy.resteasy-jaxb-provider"/>
<module name="org.jboss.resteasy.resteasy-jackson-provider"/>
<module name="org.jboss.resteasy.resteasy-jsapi"/>
<module name="org.jboss.resteasy.resteasy-multipart-provider"/>
<module name="org.jboss.resteasy.resteasy-yaml-provider"/>
<module name="org.jboss.resteasy.resteasy-jettison-provider"/>
<module name="org.hibernate" />
</exclusions>
</deployment>
我也试过了(:
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
<exclude-subsystems>
<subsystem name="resteasy" />
<subsystem name="webservices" />
</exclude-subsystems>
<exclusions>
<module name="org.hibernate"></module>
<module name="org.jboss.ws.rs" />
<module name="org.apache.cxf" />
<module name="org.jboss.resteasy.resteasy-atom-provider"/>
<module name="org.jboss.resteasy.resteasy-cdi"/>
<module name="org.jboss.resteasy.resteasy-jaxrs"/>
<module name="org.jboss.resteasy.resteasy-jaxb-provider"/>
<module name="org.jboss.resteasy.resteasy-jackson-provider"/>
<module name="org.jboss.resteasy.resteasy-jsapi"/>
<module name="org.jboss.resteasy.resteasy-multipart-provider"/>
<module name="org.jboss.resteasy.resteasy-yaml-provider"/>
<module name="org.jboss.resteasy.resteasy-jettison-provider"/>
<module name="org.jboss.ws.cxf" />
</exclusions>
<dependencies>
<module name="com.oracle.ojdbc14"></module>
<module name="com.liferay.portal"></module>
<module name="org.jboss.ironjacamar.jdbcadapters"></module>
<module name="org.picketbox"></module>
<module name="org.jboss.modules"></module>
</dependencies>
</deployment>
</jboss-deployment-structure>
答案 0 :(得分:0)
回答这个问题可能为时已晚。
但是考虑到其他一些人,包括我在几分钟之前可能仍然需要它,我想分享我为解决方案所做的一切。
简而言之,它仍然是版本冲突的问题,因为JBoss AS7或EAP6.0附带了不同版本的Apache CXF来构建其Web服务模块。
要解决此问题,我们需要执行两个步骤:
要删除Jboass配置文件中的Web服务模块(比如standalone.xml): 1)。在会话中,删除
<extension module="org.jboss.as.webservices"/>
2)。在会话中,删除整个Web服务子系统
<subsystem xmlns="urn:jboss:domain:webservices:1.1">
...
</subsystem>
使用jboss-deployment-structure: 这里的一些xml片段仅供您参考:
<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>