首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomee服务中的RestEasy客户端

Tomee服务中的RestEasy客户端
EN

Stack Overflow用户
提问于 2018-05-09 18:13:34
回答 1查看 860关注 0票数 0

我想在部署到Tomee的REST服务中使用一个RestEasy客户机。一切都很好,但是在部署时我得到了错误。

代码语言:javascript
复制
fable-service>  java.lang.IllegalArgumentException: class org.jboss.resteasy.plugins.providers.FormUrlEncodedProvider is not a SERVER provider
fable-service>  at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.isNotServerProvider(CxfRsHttpListener.java:491)
fable-service>  at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.providers(CxfRsHttpListener.java:434)
fable-service>  at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.configureFactory(CxfRsHttpListener.java:1009)
fable-service>  at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.deployApplication(CxfRsHttpListener.java:577)
fable-service>  at org.apache.openejb.server.rest.RESTService.deployApplication(RESTService.java:481)
fable-service>  at org.apache.openejb.server.rest.RESTService.afterApplicationCreated(RESTService.java:288)
fable-service>  at org.apache.tomee.webservices.TomeeJaxRsService.afterApplicationCreated(TomeeJaxRsService.java:53)
fable-service>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
fable-service>  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
fable-service>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
fable-service>  at java.lang.reflect.Method.invoke(Method.java:498)
fable-service>  at org.apache.openejb.observer.ObserverManager$MethodInvocation.invoke(ObserverManager.java:406)
fable-service>  at org.apache.openejb.observer.ObserverManager$InvocationList.invoke(ObserverManager.java:521)
fable-service>  at org.apache.openejb.observer.ObserverManager.doFire(ObserverManager.java:111)
fable-service>  at org.apache.openejb.observer.ObserverManager.fireEvent(ObserverManager.java:100)
fable-service>  at org.apache.openejb.loader.SystemInstance.fireEvent(SystemInstance.java:134)
fable-service>  at org.apache.tomee.catalina.TomcatWebAppBuilder.afterStart(TomcatWebAppBuilder.java:1746)
fable-service>  at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:116)
fable-service>  at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
fable-service>  at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:395)
fable-service>  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
fable-service>  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
fable-service>  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
fable-service>  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
fable-service>  at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:988)
fable-service>  at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1860)
fable-service>  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
fable-service>  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
fable-service>  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
fable-service>  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
fable-service>  at java.lang.Thread.run(Thread.java:748)

我试过使用不同版本的RestEasy和Tomee,但是错误并没有改变。目前,我正在使用RestEasy 3.5.1。在tomee:8-jre-7.0.4+ Docker容器中完成。

不幸的是,谷歌也没有帮我处理这个问题.

EN

回答 1

Stack Overflow用户

发布于 2019-03-01 21:36:19

我刚把这个也做好了。TomEE Plus 7.1.0与RestEasy

这就是我们需要做的:

  1. 要避免"is a SERVER provider“异常,您需要将system属性openejb.jaxrs.Fail-on-Constrainedto设置为false。此特性来自CxfRsHttpListener类。
  2. TomEE Plus 7.1.0使用的是Java8,但是在"lib“文件夹中有一个名为"javaee-api-7.0-1.jar”的jar。当TomEE启动时,它使用该文件夹中的所有jars,不管您在maven或gradle中配置了什么作为项目依赖项。还有一个很大的机会,你会得到JavaEE 7类。 RestEasy 3.5.1.是JAX-RS-API2.1规范的一个实现。因此,使用JavaEE7,您将在MediaType中获得异常NoSuchFieldError SERVER_SENT_EVENTS_TYPE。 为了避免这种情况,您需要使用RestEasy3.1.4.Final,这是JAX 2.0.1规范的一个实现。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50259687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档