在使用DropWizard

时间:2018-02-28 21:32:36

标签: java-ee jersey resteasy dropwizard

正如标题所示,我有一个使用DropWizard(以及Jersey)构建的服务。在此服务中,我必须使用RestEasy客户端调用使用RestEasy构建的另一个服务。问题是,当我在服务中向RestEasy客户端添加依赖项时,我遇到了创建代理的问题。基本上我得到以下痕迹:

java.lang.ClassCastException: org.glassfish.jersey.uri.internal.JerseyUriBuilder cannot be cast to org.jboss.resteasy.specimpl.ResteasyUriBuilder
    at org.jboss.resteasy.client.jaxrs.internal.ClientWebTarget.queryParamNoTemplate(ClientWebTarget.java:289)
    at org.jboss.resteasy.client.jaxrs.internal.proxy.processors.webtarget.QueryParamProcessor.apply(QueryParamProcessor.java:23)
    at org.jboss.resteasy.client.jaxrs.internal.proxy.processors.webtarget.QueryParamProcessor.apply(QueryParamProcessor.java:12)
    at org.jboss.resteasy.client.jaxrs.internal.proxy.processors.AbstractCollectionProcessor.buildIt(AbstractCollectionProcessor.java:76)
    at org.jboss.resteasy.client.jaxrs.internal.proxy.processors.webtarget.AbstractWebTargetCollectionProcessor.build(AbstractWebTargetCollectionProcessor.java:22)
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.createRequest(ClientInvoker.java:115)
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invoke(ClientInvoker.java:101)
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:64)
    at com.sun.proxy.$Proxy68.disableAccounts(Unknown Source)

构建RestEasy客户端:

ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target(uri);
target.proxy(AccountResource.class);

“AccountResource”是合约界面。

搜索(即:Cast exception with RESTEasy)并调试代码告诉我这是一个类路径问题。我想知道是否有办法通过RestEasy客户端实现这一点,基本上告诉客户端使用哪个URI构建器。

0 个答案:

没有答案
相关问题