我正在从事一个项目,该项目使用各种客户端应用程序作为maven依赖项,与不同的REST API进行对话。
但是当包含使用Jersey 2实现的客户端时,会出现问题。x和任何其他使用RESTEasy的客户端。
一旦我添加了使用RESTEasy的依赖项,就会出现如下错误:
原因:javax。ws。rs.ProcessingException:找不到内容类型为application/json且类型为class de.fhg的MessageBodyReader。伊帕。vfk。码头工人。码头注册。restclient。实体在org上搜索结果。jboss。放松点。果心拦截。ClientReaderInterceptorContext。ThroCoraderNotFound(ClientReaderInterceptorContext.java:39)位于org。jboss。放松点。果心拦截。AbstractReaderInterceptorContext。getReader(AbstractReaderInterceptorContext.java:73)位于org。jboss。放松点。果心拦截。AbstractReaderInterceptorContext。在org上继续(AbstractReaderInterceptorContext.java:50)。jboss。放松点。客户贾克斯。内部的ClientResponse。readFrom(ClientResponse.java:245)位于org。jboss。放松点。客户贾克斯。内部的ClientResponse。readEntity(ClientResponse.java:179)位于org。jboss。放松点。特别简单。BuiltResponse。readEntity(BuiltResponse.java:211)位于org。jboss。放松点。客户贾克斯。内部的ClientInvocation。extractResult(ClientInvocation.java:104)。。。还有4个
或者这个:
起因:javax.ws.rs.Processing异常:无法找到内容类型的应用程序/tar类型的写入器:java.io.FileInputStream atorg.jboss.resteasy.core.interception.ClientWriterInterceptorCorg.jboss.resteasy.client.jaxrs.engines.WriterNotFound异常(ClientWriterInterceptorCngine.invoke)atngine.java:281AbstractWriterInterceptorContext.getWriter(AbstractWriterInterceptorContext.java:138)atorg.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:117)atorg.jboss.resteasy.client.jaxrs.internal.ClientInvocation.write请求体(ClientInvocation.java:341)atorg.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.write请求体(ApacheHttpClient4Engine.java:558)atorg.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.build实体(ApacheHttpClient4Engine.java:524)atontext.throwApacheHttpClient4Eontext.java:40(ApacheHttpClient4Eorg.jboss.resteasy.core.interception.)...7更多
可以同时使用这两个库或以某种方式配置maven,这样应用程序就不会尝试使用RESTEasy依赖项而不是Jersey 2。x个一,反之亦然?
谢啦
丹尼尔
您可以尝试使用Maven概要文件来激活Jersey或RESTEasy,但不能在同一平面类路径中同时有两个JAX-RS实现。
如果您必须在一个应用程序中同时使用两个实现,您将需要由OSGi或JBoss Modules等模块系统提供的类加载器隔离。
最好的方法可能是重构代码,只使用JAX-RS 2.0客户端应用编程接口,并在需要特定于实现的应用编程接口的角落情况下,选择泽西或RESTEasy。
问题内容: 我有一个二进制文件,其中ldd显示了意外的依赖项和libicuuc(来自“ icu”)。 由于在该系统上libxml动态依赖于libicuuc,因此ldd最终会找到它是有意义的,但是是否期望libicuuc也出现在A的ldd输出中?是否有一些命令仅检索链接为依赖项依赖关系的库? 问题答案: 显示启动应用程序或加载共享库时需要加载的所有库。 仅显示二进制文件的直接依赖项。 是否有一些命令
编辑:这是ackson jaxrs-base早期版本中的一个问题,已在jackson-jaxrs-base-2.8中解决。https://github.com/FasterXML/jackson-jaxrs-providers/issues/22 我正在努力解决这个问题,只有mapper例外。我想映射com的所有子级。fasterxml。杰克逊。果心JsonProcessingException在
问题内容: 背景 在Maven中,工件可以使用 这意味着该依赖性不是必需的,但可以使用(如果存在)。 模块系统状态似乎指定一个模块只能读取其所需的模块。 问题 Java 9模块系统确实不支持可选依赖项吗? 为什么不? Java 9模块系统提供了哪些可选的依赖项替代方案? 用例 我有一个框架,该框架集成了应用程序可能使用或可能不使用的各种库。当前,该框架是单个JAR,可反映类路径以跳过缺少库的集成代
我面临着以下问题。我有两个Gradle项目(ProjectA和ProjectB)在同一个层次结构上,没有任何根项目。由于ProjectA依赖于ProjectB,我尝试将其建模如下: ProjectA的settings.gradle: ProjectA的build.gradle: 然而,当我在ProjectA上执行gradle build时,我得到了以下错误: 我必须在ProjectB中定义某种默认
为了在我的spring boot项目上运行单元测试,我尝试使用JUnit和Mockito,但是很难找到如何在我的gradle项目的build.gradle文件中设置依赖项。下面是build.gradle文件: 现在我得到的错误是“不能解析org.Mockito:mockito-core:3.6.48”,我甚至不知道是否从https://github.com/Mockito/Mockito/rele
我有一个资源类 我尝试了泽西岛2.0的依赖注入中的答案 如果我使用 启动服务器时,我得到 如果我删除了上述依赖项,那么我得到 资源配置类是 活页夹类是 我在嵌入式模式下使用tomcat并添加init参数 我如何在控制器中注入服务?注入是单元测试的首选方式吗(当服务实现调用另一个服务时,比如说XService ),单元测试不应该依赖于Xservice,因此demoServiceImpl如何从测试中将