我正在使用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>
任何帮助都会非常感激。
答案 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下。
只需删除所提供的表单,即依赖范围。