我想在我的web应用程序(带有6.0.0.Final的.war)中使用REST服务,但在添加jersey-client lib时遇到问题:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.9.1</version>
<type>jar</type>
<scope>compile</scope>
</dependency>使用此配置,我在JBoss启动期间得到以下错误:
08:11:28,297 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].
[localhost].[/test]] Exception starting filter Resteasy:
java.lang.ClassCastException: com.aht.erp.web.rest.JaxRsActivator
cannot be cast to javax.ws.rs.core.Application我的webapp有一个激活的JAX-RS,带有以下注释:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/rest")
public class JaxRsActivator extends Application {}如果我不添加依赖项,我的war就可以正常启动,但当然,当调用jersey-client时,我会得到一个NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig。通过排除jersey-core,我得到了这个错误:NoClassDefFoundError: com/sun/jersey/core/util/FeaturesAndProperties。
发布于 2011-10-01 00:51:57
我认为问题在于你试图在你的web应用中混合两种不同的jax-rs实现。对于您的RESTful资源,您使用的是RESTEasy,而在客户端,您希望使用Jersey -所有资源都由同一个jar使用。然而,泽西客户端依赖于泽西核心,这与RESTEasy冲突。因此,您要么必须依赖RESTEasy客户端API,要么也必须切换到Jersey作为您的服务器端。
https://stackoverflow.com/questions/7593560
复制相似问题