由于apache CXF,Jboss启动异常?

时间:2013-10-14 23:26:13

标签: web-services rest jboss cxf

  

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>

1 个答案:

答案 0 :(得分:0)

回答这个问题可能为时已晚。

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

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

要解决此问题,我们需要执行两个步骤:

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

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

    2)。在会话中,删除整个Web服务子系统

    <subsystem xmlns="urn:jboss:domain:webservices:1.1">
    ...
    </subsystem>
    
  2. 使用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>