首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有REST客户端的JBoss6 (jersey-客户端)

带有REST客户端的JBoss6 (jersey-客户端)
EN

Stack Overflow用户
提问于 2011-09-29 14:56:52
回答 1查看 3K关注 0票数 1

我想在我的web应用程序(带有6.0.0.Final的.war)中使用REST服务,但在添加jersey-client lib时遇到问题:

代码语言:javascript
复制
<dependency>
  <groupId>com.sun.jersey</groupId>
  <artifactId>jersey-client</artifactId>
  <version>1.9.1</version>
  <type>jar</type>
  <scope>compile</scope>
</dependency>

使用此配置,我在JBoss启动期间得到以下错误:

代码语言:javascript
复制
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,带有以下注释:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-01 00:51:57

我认为问题在于你试图在你的web应用中混合两种不同的jax-rs实现。对于您的RESTful资源,您使用的是RESTEasy,而在客户端,您希望使用Jersey -所有资源都由同一个jar使用。然而,泽西客户端依赖于泽西核心,这与RESTEasy冲突。因此,您要么必须依赖RESTEasy客户端API,要么也必须切换到Jersey作为您的服务器端。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7593560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档