【问题标题】:getting exception in maven after creating restful client创建restful客户端后在maven中出现异常
【发布时间】:2013-12-04 09:58:58
【问题描述】:

我正在使用 apache-tomee-jaxrs-1.5.2 服务器并使用以下波纹线在 java 中创建了 restful 客户端

Response response = WebClient.create("localhost:8080/test).path("/change/event").post(userdata);

我在 pom.xml 中包含以下依赖项

 <dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-rs-client</artifactId>
    <version>3.0.0-milestone1</version>
</dependency>      

现在编译成功,但是当我使用 mvn tomee:deploy 进行部署时,我得到了愚蠢的异常 本地主机日志文件:http://www.docdroid.net/6snb/localhost-log.txt.html catalina 日志文件:http://www.docdroid.net/6sne/cataline-log.txt.html

我不知道哪个依赖有问题,这里是我的 pom.xml 文件 http://www.docdroid.net/6soc/mypom.txt.html

catalina 日志文件。

原因:java.lang.ExceptionInInitializerError 在 org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.setupFactory(AbstractJAXRSFactoryBean.java:320) 在 org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:163) 在 org.apache.openejb.server.cxf.rs.CxfRsHttpListener.deploy(CxfRsHttpListener.java:164) 在 org.apache.openejb.server.cxf.rs.CxfRsHttpListener.deployPojo(CxfRsHttpListener.java:110) 在 org.apache.openejb.server.rest.RESTService.deployPojo(RESTService.java:436) 在 org.apache.openejb.server.rest.RESTService.afterApplicationCreated(RESTService.java:248) 在 org.apache.tomee.webservices.TomeeJaxRsService.afterApplicationCreated(TomeeJaxRsService.java:51) ... 78 更多

原因:java.lang.IllegalArgumentException:接口 org.apache.cxf.jaxrs.impl.tl.ThreadLocalProxy 在类加载器中不可见 在 java.lang.reflect.Proxy.getProxyClass0(Proxy.java:484) 在 java.lang.reflect.Proxy.newProxyInstance(Proxy.java:713) 在 org.apache.cxf.jaxrs.utils.InjectionUtils.createThreadLocalProxy(InjectionUtils.java:875) 在 org.apache.cxf.jaxrs.model.AbstractResourceInfo.addContextMethod(AbstractResourceInfo.java:163) 在 org.apache.cxf.jaxrs.model.AbstractResourceInfo.checkContextMethod(AbstractResourceInfo.java:146) 在 org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContextSetterMethods(AbstractResourceInfo.java:132) 在 org.apache.cxf.jaxrs.model.AbstractResourceInfo.(AbstractResourceInfo.java:65) 在 org.apache.cxf.jaxrs.model.ProviderInfo.(ProviderInfo.java:29) 在 org.apache.cxf.jaxrs.provider.ProviderFactory.initJaxbProviders(ProviderFactory.java:127) 在 org.apache.cxf.jaxrs.provider.ProviderFactory.(ProviderFactory.java:117) 在 org.apache.cxf.jaxrs.provider.ProviderFactory.getInstance(ProviderFactory.java:157) 在 org.apache.cxf.jaxrs.provider.ProviderFactory.(ProviderFactory.java:71) ... 85 更多

【问题讨论】:

  • 在外部站点上发布内容通常会阻止公司防火墙/代理后面的任何人回复您。在此处发布相关信息,以获得帮助的最佳机会。
  • 立即查看 catalina 日志

标签: java apache rest maven cxfrs


【解决方案1】:

您可以使用提供的范围作为 pom.xml 中的依赖项。然后它将起作用。例如

 <dependency>
  <groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>2.6.4</version>
<scope>provided</scope>
 </dependency>

使用提供的范围。

【讨论】:

    猜你喜欢
    • 2013-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 2020-05-05
    • 2021-08-31
    相关资源
    最近更新 更多