今天遇到同样的问题。经检查发现,在JDK1.5.22中的rt.jar中包含了org.w3c.dom.Element接口,在Tomcat下的 /common/endorsed下面的xml-api.jar中包含了org.w3c.dom.Element接口,同时在我的web项目中还包含了该接口。
该Element接口继承了Node接口,而我们需要的setUserData(Ljava/lang/String;Ljava /lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object方法正是在之个Node接口中定义的。由于在项目运行时Tomcat使用的是endorsed下面的那个包,而该包中的Node接口并没有此方法,因而报错。
解决方法:更新JDK;更新Tomcat下的xercesImpl.jar、xml-api.jar;或者更新项目下的xercesImpl.jar、xml-api.jar。选那个更新,这个看个人而定了。
该Element接口继承了Node接口,而我们需要的setUserData(Ljava/lang/String;Ljava /lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object方法正是在之个Node接口中定义的。由于在项目运行时Tomcat使用的是endorsed下面的那个包,而该包中的Node接口并没有此方法,因而报错。
解决方法:更新JDK;更新Tomcat下的xercesImpl.jar、xml-api.jar;或者更新项目下的xercesImpl.jar、xml-api.jar。选那个更新,这个看个人而定了。