[英]JBoss6 with REST client (jersey-client)
我想在我的Web應用程序中使用REST服務(.war與6.0.0.Final),但在添加jersey-client庫時遇到問題:
<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 {}
如果我不添加dependecy我的戰爭開始沒問題,但當我調用jersey-client時,我得到一個NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig
。 通過排除jersey-core
我得到了這個錯誤: NoClassDefFoundError: com/sun/jersey/core/util/FeaturesAndProperties
。
我相信問題是你正在嘗試在你的網絡應用程序中混合使用兩種不同的jax-rs實現。 對於您的RESTful資源,您使用的是RESTEasy,而在客戶端則需要使用Jersey - 所有這些都由同一個jar使用。 然而,Jersey客戶端依賴於Jersey核心,它與RESTEasy沖突。 因此,您要么必須依賴RESTEasy客戶端API,要么也為服務器端切換到Jersey。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.