java.lang.NoSuchFieldError:创建球衣其余客户端时出现WADL_JSON [英] java.lang.NoSuchFieldError: WADL_JSON in creating jersey rest client

查看:343
本文介绍了java.lang.NoSuchFieldError:创建球衣其余客户端时出现WADL_JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用jackson pojo mapping创建jersey rest客户端. 这是代码Spinet:

I am creating jersey rest client with jackson pojo mapping. here is code spinet:

    ClientConfig clientConfig = new DefaultClientConfig();
    clientConfig.getClasses().add(JacksonJsonProvider.class);
    clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
    client = Client.create(clientConfig);
    webResource = client.resource("url to exposed rest web service");

此代码在client = Client.create(clientConfig)

Sep 01, 2014 12:42:04 PM com.sun.jersey.core.spi.component.ProviderFactory __getComponentProvider
SEVERE: The provider class, class com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$Wadl, could not be instantiated. Processing will continue but the class will not be utilized
java.lang.NoSuchFieldError: WADL_JSON
    at com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$Wadl.<init>(JSONRootElementProvider.java:138)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.sun.jersey.core.spi.component.ComponentConstructor._getInstance(ComponentConstructor.java:161)
    at com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:141)
    at com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider(ProviderFactory.java:163)
    at com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:134)
    at com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:232)
    at com.sun.jersey.core.spi.component.ProviderServices.getProvidersAndServices(ProviderServices.java:149)
    at com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(MessageBodyFactory.java:153)
    at com.sun.jersey.core.spi.factory.MessageBodyFactory.init(MessageBodyFactory.java:145)
    at com.sun.jersey.api.client.Client.<init>(Client.java:275)
    at com.sun.jersey.api.client.Client.<init>(Client.java:150)
    at com.sun.jersey.api.client.Client.create(Client.java:476)
    at com.snapdeal.rnrs.client.RClient.<init>(RClient.java:29)
    at com.snapdeal.rnrs.client.RestClient.main(RestClient.java:45)

Sep 01, 2014 12:42:04 PM com.sun.jersey.core.spi.component.ProviderFactory __getComponentProvider
SEVERE: The provider class, class com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$Wadl, could not be instantiated. Processing will continue but the class will not be utilized
java.lang.NoSuchFieldError: WADL_JSON
    at com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$Wadl.<init>(JSONRootElementProvider.java:138)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.sun.jersey.core.spi.component.ComponentConstructor._getInstance(ComponentConstructor.java:161)
    at com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:141)
    at com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider(ProviderFactory.java:163)
    at com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:134)
    at com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:232)
    at com.sun.jersey.core.spi.component.ProviderServices.getProvidersAndServices(ProviderServices.java:149)
    at com.sun.jersey.core.spi.factory.MessageBodyFactory.initWriters(MessageBodyFactory.java:171)
    at com.sun.jersey.core.spi.factory.MessageBodyFactory.init(MessageBodyFactory.java:146)
    at com.sun.jersey.api.client.Client.<init>(Client.java:275)
    at com.sun.jersey.api.client.Client.<init>(Client.java:150)
    at com.sun.jersey.api.client.Client.create(Client.java:476)
    at com.snapdeal.rnrs.client.RClient.<init>(RClient.java:29)
    at com.snapdeal.rnrs.client.RestClient.main(RestClient.java:45)

我正在使用以下罐子:

jackson-core-asl:1.9.13
jackson-jaxrs:1.9.13
jackson-xc:1.9.13
jersey-client:1.1.5.1

jackson-core-asl:1.9.13
jackson-jaxrs:1.9.13
jackson-xc:1.9.13
jersey-client:1.1.5.1

我受够了搜索google and stackoverflow,但是找不到任何解决方案.如果有人遇到相同的错误并解决了问题,请提出一些解决方案.

I am fed up searching google and stackoverflow, but could not find any solution. Please suggest some solution if any one faced the same error and solved the problem.

推荐答案

我找到了问题的解决方案.这是由于jar冲突引起的. 我将jersey-client:1.1.5.1更改为jersey-client:1.18

I got the solution of the problem. It was due to jar conflicts. I change jersey-client:1.1.5.1 to jersey-client:1.18

这篇关于java.lang.NoSuchFieldError:创建球衣其余客户端时出现WADL_JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆