【问题标题】:How to solve java.lang.IncompatibleClassChangeError after CXF 3.5.3 upgrade (Java Application - JRE 8)?CXF 3.5.3 升级后如何解决 java.lang.IncompatibleClassChangeError (Java Application - JRE 8)?
【发布时间】:2022-10-17 18:10:27
【问题描述】:

由于将用于构建我们的 Java 应用程序的 cxf 版本从 2.7.18 升级到 3.5.3,我们遇到以下错误:

Caused by: java.lang.IncompatibleClassChangeError: class org.apache.cxf.jaxws.WrapperClassGenerator has interface org.apache.cxf.common.util.ASMHelper as super class

WrapperClassGenerator 的超类确实在旧版本的 cxf 和 3.5.x 版本之间发生了变化。但“mvn dependency:tree-Dverbose”仅显示构建中包含正确的 CXF 3.5.3 依赖项。在运行时调用 org.apache.cxf.version.Version.getCompleteVersionString() 也会显示正确的版本 3.5.3。

所以我不知道那个版本冲突来自哪里。它与java运行时提供的jax-ws版本有关吗?我们在运行时使用 Java 1.8.0_202-b08 JRE。 cxf 网站声称 cxf 3.5.3 适用于 Java8。我还尝试使用 java 认可的机制将更新版本的 Jax-ws 和 Jaxb jars 放入 java 中(甚至更新的 Jakarta jars,我怀疑它甚至会捡起......)。完全没有效果。

目前没有想法。有没有人有类似的问题或想法如何调试?

【问题讨论】:

    标签: version cxf jax-ws conflict


    【解决方案1】:

    没关系。我刚刚发现我们的应用程序有一个文件夹,它在运行时提供了一些自己的附加 jar 文件。我在那里发现了一些古老的 cxf jar 文件,我不知何故设法忽略了几个星期。将正确的 cxf 和 srping jar 文件放入该文件夹而不是旧的文件夹中,现在一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-03
      • 1970-01-01
      • 2021-02-22
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      相关资源
      最近更新 更多