我正在尝试使用在 WebSphere 上工作的 CXF 获得一个 apache camel 应用程序。
注意到一些错误
引起:java.lang。IncompatibleClassChangeError:org.apache.neethi.AssertionBuilderFactory at java.lang.ClassLoader.defineClassImpl(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:262) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69 )
这是因为 org.apache.neethi 类是从 WAS 运行时加载的,而不是从 WEB-INF/lib 加载的 neeti3.0.2.jar
这是来自类加载器的信息:
类加载:org.apache.neethi.builders.AssertionBuilder 来自:文件:/D: /Tools/WebSphere/AppServer/plugins/org.apache.axis2.jar
Web 应用程序配置已更改为使用类加载器策略。它设置为上一个父级。然而,这个班级似乎正在使用家长优先政策。
CXF 包中是否有任何内容可以超越此政策?
我注意到使用 Axis2 和 WAS
http://axis.apache.org/axis2/java/core/docs/app_server.html
为避免与 WebSphere 的 JAX-WS 运行时发生冲突,针对 Axis2 提到了一些额外的步骤。是否需要类似的东西才能使其正常工作?
谢谢芒鲁