[英]java.lang.NoClassDefFoundError: org/apache/cxf/interceptor/AbstractBasicInterceptorProvider
I am using apache CXF3.0.4 for consuming a web service from my java application, I have included all the required jars files , but I am getting below issue while using weblogic, but its working fine if I am using tomcat. 我正在使用apache CXF3.0.4从Java应用程序中使用Web服务,我已经包含了所有必需的jar文件,但是在使用weblogic时遇到问题,但是如果我使用tomcat的话,它可以正常工作。
java.lang.NoClassDefFoundError:
java.lang.NoClassDefFoundError:
org/apache/cxf/interceptor/AbstractBasicInterceptorProviderorg / apache / cxf / interceptor / AbstractBasicInterceptorProvider
at java.lang.ClassLoader.defineClass1(Native Method)在java.lang.ClassLoader.defineClass1(本机方法)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)在java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)在java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)在java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)在java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
Truncated.被截断了。 see log file for complete stacktrace
请参阅日志文件以获取完整的stacktrace
Below is my pom.xml file 下面是我的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>
Any help will highly appreciate. 任何帮助将不胜感激。
Looks like you miss the cxf-api.jar in weblogic, which is in your tomcat classpath. 似乎您错过了tomcat类路径中weblogic中的cxf-api.jar。
So remove the jat from your tomcat classpath and remove the scope provided from your pom: 因此,从tomcat类路径中删除jat并从pom中删除提供的范围:
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-api</artifactId>
<version>2.2.3</version>
</dependency>
I think that the problem is that the missing class is contained in the cxf-api-2.2.3.jar which is marked as provided in your pom. 我认为问题是缺少的类包含在cxf-api-2.2.3.jar中,该类标记为pom中提供的标记。
This means that this jar is there under Tomcat but it is not under weblogic. 这意味着该jar位于Tomcat之下,但不在weblogic之下。
Simply remove the provided form the scope of your dependency. 只需从提供的表格中删除您的依赖范围即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.