项目运行时报了如下错误:
java.lang.IncompatibleClassChangeError: org/apache/neethi/ :org/apache/neethi/AssertionBuilderFactory
翻译了下,大概意思是类冲突错误,第一想到是jar包冲突了。
把AssertionBuilderFactoryImpl和AssertionBuilderFactory在eclipse里面搜了下,发现在neethi-3.0.1.jar里有这两个接口、类,
其中AssertionBuilderFactory在neethi-2.0.4.jar里也存在,把neethi-2.0.4.jar去掉,不再报该错误。
再次运行项目,报了另外一个错误:
java.lang.NoSuchFieldError: org/apache/ws/commons/schema/XmlSchemaForm.QUALIFIED
到谷歌里搜了下,在这个网址找到了答案:
里面有这样一个回答:
大概意思是cxf 2.7.x需要xmlschema的2.x版本,您项目里有xmlschema-core-2.1.0.jar和XmlSchema-1.4.7.jar版本,项目选则了XmlSchema-1.4.7.jar,意思就是cxf 2.7.x需要xmlschema的2.x版本匹配,看了下项目,发现XmlSchema-1.4.7.jar和xmlschema-core-2.1.0.jar都存在,于是去掉XmlSchema-1.4.7.jar,项目正常。