0

我正在使用 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 进行部署时,我得到了愚蠢的异常 localhost 日志文件: 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 日志文件。

原因:org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:163) 的 org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.setupFactory(AbstractJAXRSFactoryBean.java:320) 的 java.lang.ExceptionInInitializerError .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 更多

4

1 回答 1

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-11T04:19:20.867 回答