java.lang.IncompatibleClassChangeError:org.apache.neethi.AssertionBuilderFactory

时间:2015-08-20 17:32:16

标签: java cxf junit4

我遇到junit测试问题。 Neethi-3.0.1.jar和cxf-rt-core-2.7.4.jar包含在我的项目的Maven依赖项中。这些罐子应该兼容。但是我仍然得到java.lang.IncompatibleClassChangeError:org.apache.neethi.AssertionBuilderFactory at org.apache.cxf.bus.extension.Extension 所以我假设我在类路径上仍然有一个旧版本的neethi。 我该如何解决?

我看到一个类似的问题得到了解答,但它在WAS中运行而不是junit。 Incompatible neethi.jar with WAS 7

2 个答案:

答案 0 :(得分:0)

不确定它是否有帮助,但相同(如WAS CL顺序设置)可以完成:

<container-descriptor>  
        <prefer-application-packages>
            <package-name>com.ctc.wstx.*</package-name>
            <package-name>org.apache.cxf.binding.soap.saaj.*</package-name>
            <package-name>org.apache.cxf.endpoint.*</package-name>
            <package-name>org.apache.cxf.frontend.*</package-name>
            <package-name>org.apache.cxf.transport.http.*</package-name>
            <package-name>org.apache.cxf.interceptor.*</package-name>
            <package-name>org.apache.cxf.transports.http.configuration.*</package-name>
       </prefer-application-packages>
    ...
weblogic.xml WLS Web应用程序配置的

的文件

答案 1 :(得分:0)

重新排列pom中依赖关系的顺序解决了问题。