java.lang.NoClassDefFoundError:org / apache / cxf / interceptor / AbstractBasicInterceptorProvider

时间:2015-10-01 14:43:59

标签: java apache cxf

我正在使用apache CXF3.0.4从我的java应用程序中使用Web服务,我已经包含了所有必需的jar文件,但是我在使用weblogic时遇到了问题,但是如果我使用tomcat它的工作正常。

  

java.lang.NoClassDefFoundError:
  组织/阿帕奇/ CXF /拦截器/ AbstractBasicInterceptorProvider
  at java.lang.ClassLoader.defineClass1(Native Method)
  at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
  在java.lang.ClassLoader.defineClass(ClassLoader.java:615)
  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
  在java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
  截断。请参阅日志文件以获取完整的堆栈跟踪

下面是我的pom.xml文件

    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxws</artifactId>
        <version>3.0.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http</artifactId>
        <version>3.0.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-ws-security</artifactId>
        <version>3.0.4</version>
    </dependency>
    <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>1.0.b2</version>
        <!-- <scope>provided</scope> -->
    </dependency>

    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxrs</artifactId>
        <version>3.0.4</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-api</artifactId>
        <version>2.2.3</version>
       <scope>provided</scope> 
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
    </dependency>

任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

看起来你错过了weblogic中的cxf-api.jar,它位于你的tomcat类路径中。

因此,从tomcat类路径中删除jat并删除pom提供的范围:

<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-api</artifactId>
    <version>2.2.3</version>
</dependency>

答案 1 :(得分:0)

我认为问题在于缺少的类包含在cxf-api-2.2.3.jar中,该标记在你的pom中提供。

这意味着这个jar在Tomcat下面,但它不在weblogic下。

只需删除所提供的表单,即依赖范围。