1

1)

由于异常,未安装可选组件 org.apache.cxf.transport.http.Servlet3ContinuationProvider$Servlet3Continuation:org.jboss.as.server.deployment.DeploymentUnitProcessingException:JBAS011054:找不到类 org.apache.cxf.transport 的默认构造函数。 http.Servlet3ContinuationProvider$Servlet3Continuation

2) 遇到无效的类名 'org.springframework.context.ApplicationContext,org.springframework.beans.BeansException' 对于服务类型'org.apache.cxf.bus.factory' JBAS015893: 遇到无效的类名'org.xmlpull.mxp1。 MXParser,org.xmlpull.mxp1_serializer.MXSerializer' 用于服务类型 'org.xmlpull.v1.XmlPullParserFactory'

我正在使用 Jboss EAP 6.0 和 portlet 项目包含 Apache cxf 和 spring 配置来构建 REST 服务。谁能对这些例外有所了解,我用谷歌搜索并尝试关注但没有成功。

<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>
4

1 回答 1

0

也许现在回答这个问题为时已晚。

但是考虑到其他一些人,包括我几分钟前可能仍然需要它,我想分享我为解决方案所做的工作。

简而言之,版本冲突仍然是一个问题,因为 JBoss AS7 或 EAP6.0 附带了不同版本的 Apache CXF 来构建其 web 服务模块。

要解决这个问题,我们需要做两个步骤:

  1. 要删除 Jboass 配置文件(比如standalone.xml)中的 webservice 模块:1)。在会话下,删除

    <extension module="org.jboss.as.webservices"/>
    

    2)。在 session 下,删除整个 webservice 子系统

    <subsystem xmlns="urn:jboss:domain:webservices:1.1">
    ...
    </subsystem>
    
  2. 使用 jboss-deployment-structure:这里的一些 xml snipit 仅供您参考:

    <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>
    
于 2014-07-25T08:34:16.190 回答