【问题标题】:CXF NoSuchMethodError ClassHelper.getRealClassCXF NoSuchMethodError ClassHelper.getRealClass
【发布时间】:2015-09-15 19:33:05
【问题描述】:

简单的项目,下面是我的 gradle 依赖。这是我声明的唯一 CXF 依赖项。我的 gradle 依赖关系也是由于声明的依赖关系而实现的。当我运行我的代码时,我得到下面的异常。我想不通。

救命!

compile(group: 'org.apache.cxf', name: 'cxf-rt-frontend-jaxrs', version:'2.7.17')

+--- org.apache.cxf:cxf-rt-frontend-jaxrs:2.7.17
|    +--- org.apache.cxf:cxf-api:2.7.17
|    |    +--- org.codehaus.woodstox:woodstox-core-asl:4.4.1 (*)
|    |    +--- org.apache.ws.xmlschema:xmlschema-core:2.1.0 -> 2.2.1
|    |    +--- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:1.7.1
|    |    \--- wsdl4j:wsdl4j:1.6.3
|    +--- org.apache.cxf:cxf-rt-core:2.7.17
|    |    +--- org.apache.cxf:cxf-api:2.7.17 (*)
|    |    +--- com.sun.xml.bind:jaxb-impl:2.1.13 -> 2.2.11
|    |    \--- org.apache.ws.xmlschema:xmlschema-core:2.1.0 -> 2.2.1
|    +--- javax.ws.rs:javax.ws.rs-api:2.0-m10
|    +--- org.apache.cxf:cxf-rt-bindings-xml:2.7.17
|    |    \--- org.apache.cxf:cxf-api:2.7.17 (*)
|    \--- org.apache.cxf:cxf-rt-transports-http:2.7.17
|         +--- org.apache.cxf:cxf-api:2.7.17 (*)
|         \--- org.apache.cxf:cxf-rt-core:2.7.17 (*)

java.lang.NoSuchMethodError: org.apache.cxf.common.util.ClassHelper.getRealClass(Lorg/apache/cxf/Bus;Ljava/lang/Object;)Ljava/lang/Class;
at org.apache.cxf.jaxrs.provider.ProviderFactory.setCommonProviders(ProviderFactory.java:499)
at org.apache.cxf.jaxrs.client.ClientProviderFactory.setProviders(ClientProviderFactory.java:85)
at org.apache.cxf.jaxrs.provider.ProviderFactory.initBaseFactory(ProviderFactory.java:137)
at org.apache.cxf.jaxrs.client.ClientProviderFactory.initBaseFactory(ClientProviderFactory.java:77)
at org.apache.cxf.jaxrs.client.ClientProviderFactory.createInstance(ClientProviderFactory.java:56)
at org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.initClient(JAXRSClientFactoryBean.java:377)
at org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.createWebClient(JAXRSClientFactoryBean.java:225)
at org.apache.cxf.jaxrs.client.WebClient.create(WebClient.java:113)

【问题讨论】:

    标签: java jax-rs cxf cxfrs cxf-client


    【解决方案1】:

    java.lang.NoSuchMethodError 通常是在您使用新的 API jar 但实现仍然是没有实现新方法的旧版本时。我建议您检查罐子的版本,看看是否准确。如果您修复版本,则不会看到此错误。

    【讨论】:

    • 不跟随,cxf-api 版本匹配其他所有版本,2.7.17
    • 您需要检查实现版本而不仅仅是 API 版本。
    • 抱歉,我不太熟悉我应该寻找的包含实际 impl 的 Jar。
    • 我不确定您使用的是什么 API,请检查 cxf.apache.org/docs/27-migration-guide.html 看看它是否对您有帮助。
    • 如果可能,将所有 org.apache jar 更新到最新版本。
    猜你喜欢
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 2013-09-20
    • 2021-07-19
    • 2018-04-08
    • 2019-05-07
    • 2015-12-23
    • 2015-09-11
    相关资源
    最近更新 更多