ProcessingException:RESTEASY003145:无法找到内容类型为application / json且类型为接口java.util.List的MessageBodyReader-仅JAR

时间:2018-12-13 11:33:52

标签: java gradle jackson jax-rs resteasy

我正在通过jackson提供程序使用resteasy客户端。这是build.gradle片段:

compile "org.jboss.resteasy:resteasy-jaxrs:3.6.2.Final"
compile "org.jboss.resteasy:resteasy-client:3.6.2.Final"
compile "org.jboss.resteasy:resteasy-jackson2-provider:3.6.2.Final"

我处理服务器响应的那一行是

(List<String>) response.readEntity(List.class)

(服务器返回List<String>,请求方法用@Produces(MediaType.APPLICATION_JSON)注释)

当我从Eclipse中运行客户端时,一切都很好,但是在用gradle创建JAR(任务:jar)并启动并执行请求后,我得到了:

javax.ws.rs.ProcessingException: RESTEASY003145: Unable to find a MessageBodyReader of content-type application/json and type interface java.util.List
    at org.jboss.resteasy.core.interception.ClientReaderInterceptorContext.throwReaderNotFound(ClientReaderInterceptorContext.java:37)
    at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.getReader(AbstractReaderInterceptorContext.java:80)
    at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:53)
    at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(ClientResponse.java:334)
    at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readEntity(ClientResponse.java:261)
    at org.jboss.resteasy.specimpl.BuiltResponse.readEntity(BuiltResponse.java:237)

... (at the line (List<String>) response.readEntity(List.class))

在罐子的META-INF\services\中有2个javax.ws.rs.ext.Providers文件:

org.jboss.resteasy.plugins.providers.DataSourceProvider
org.jboss.resteasy.plugins.providers.DocumentProvider
org.jboss.resteasy.plugins.providers.DefaultTextPlain
org.jboss.resteasy.plugins.providers.DefaultNumberWriter
org.jboss.resteasy.plugins.providers.DefaultBooleanWriter
org.jboss.resteasy.plugins.providers.StringTextStar
org.jboss.resteasy.plugins.providers.SourceProvider
org.jboss.resteasy.plugins.providers.InputStreamProvider
org.jboss.resteasy.plugins.providers.ReaderProvider
org.jboss.resteasy.plugins.providers.ByteArrayProvider
org.jboss.resteasy.plugins.providers.FormUrlEncodedProvider
org.jboss.resteasy.plugins.providers.JaxrsFormProvider
org.jboss.resteasy.plugins.providers.CompletionStageProvider
org.jboss.resteasy.plugins.providers.ReactiveStreamProvider
org.jboss.resteasy.plugins.providers.FileProvider
org.jboss.resteasy.plugins.providers.FileRangeWriter
org.jboss.resteasy.plugins.providers.StreamingOutputProvider
org.jboss.resteasy.plugins.providers.IIOImageProvider
org.jboss.resteasy.plugins.interceptors.CacheControlFeature
org.jboss.resteasy.plugins.interceptors.encoding.ClientContentEncodingAnnotationFeature
org.jboss.resteasy.plugins.interceptors.encoding.ServerContentEncodingAnnotationFeature
org.jboss.resteasy.plugins.interceptors.encoding.MessageSanitizerContainerResponseFilter
org.jboss.resteasy.plugins.providers.sse.SseEventProvider
org.jboss.resteasy.plugins.providers.sse.SseEventOutputProvider
org.jboss.resteasy.plugins.providers.sse.SseEventSinkInterceptor

org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider
org.jboss.resteasy.plugins.providers.jackson.UnrecognizedPropertyExceptionHandler
org.jboss.resteasy.plugins.providers.jackson.PatchMethodFilter

所以似乎列出了jackson2提供程序。

我看过的问题:

RESTEASY003145: Unable to find a MessageBodyReader of content-type application/json and type class org.keycloak.representations.AccessTokenResponse

Unable to find a MessageBodyReader of content-type application/json and type class java.lang.String

Unable to find a MessageBodyReader of content-type text/html and type interface java.util.List

我不知道问题出在创建jar的gradle任务,杰克逊提供者,resteasy ...

0 个答案:

没有答案