都是JDom版本惹的祸

都是JDom版本惹的祸

下午在试用JDom操作XML时,老是跑出一个异常:

org.jdom.JDOMException: java.lang.VerifyError: (class: org/jaxen/jdom/DocumentNavigator, method: getTextStringValue signature: (Ljava/lang/Object;)Ljava/lang/String;) Incompatible object argument for function call: (class: org/jaxen/jdom/DocumentNavigator, method: getTextStringValue signature: (Ljava/lang/Object;)Ljava/lang/String;) Incompatible object argument for function call
查了好久,终于找到下面一段话,指出方向:

 原文截取:

Now, I tried to find the class TransformServlet... not an easy one to find,
since we don't
know the package name... is it org.apache.xml, org.apache.xalan, javax.xml,
javax.servlet, etc...
I haven't been able to find it on my system....

My guess is that you have two copies of this file... but I am not sure
where...

I wouldn't suggest replacing a FILE inside a jar... but figuring out which
jar is causing the conflict
and seeing if you can (temporarily) remove that conflicting jar to get the
problem to go away...
 
原来是因为可能存在多个JDom.jar引起的方法调用不清.再回过头查下项目的path设置,果然存在另一个jdom.jar(63k),而我的项目下的jdom.jar是150k.原来版本不同,将原来的包覆盖,再运行,一切正常.
这么个问题,花了1个多小时,搞死了.

你可能感兴趣的:(都是JDom版本惹的祸)