我收到以下错误信息:ClassCastException异常而解析XML与WebLogic
java.lang.ClassCastException:weblogic.xml.jaxp.RegistryDocumentBuilderFactory不能转换到javax.xml.parsers.DocumentBuilderFactory中
我已经通过一些研究这个问题的论坛。他们表示要删除xml-apis.jar
或JAR文件存在冲突。但即使我完成了所有建议的步骤,我也遇到了同样的错误。
我收到以下错误信息:ClassCastException异常而解析XML与WebLogic
java.lang.ClassCastException:weblogic.xml.jaxp.RegistryDocumentBuilderFactory不能转换到javax.xml.parsers.DocumentBuilderFactory中
我已经通过一些研究这个问题的论坛。他们表示要删除xml-apis.jar
或JAR文件存在冲突。但即使我完成了所有建议的步骤,我也遇到了同样的错误。
我认为巴南是正确的。论坛http://forum.springsource.org/showthread.php?t=22597描述了类似问题的解决方案。
通常,如果在类路径中存在多个相同类的版本,而这些版本是由不同的类加载器加载的,则会发生此类问题。一个版本的DocumentBuilderFactory由系统类加载器加载,其他类型则由企业应用程序的类加载器加载。在调用XML解析器时,将使用父类的类版本。当你投射你的私人版本被利用。这些版本不兼容导致ClassCastException。
它总是xml-apis.jar
。将它们从类路径中移除(例如,从Web应用程序的WEB-INF/lib中移除它们)。
我希望对以前对这个问题的回答略作补充,如果其他人处于与我相同的情况。由于使用CXF 2.2.3,我在WebLogic 9.2服务器上遇到同样的问题。除了前面提到的xml-apis.jar的移除之外,我还必须移除一个xmlParserAPIs库。
因为我使用的是Maven2,所以只需添加另一个包含就可以了。
<!-- CXF -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-bundle</artifactId>
<version>${dependency.version.cxf}</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>xml-apis</artifactId>
<groupId>xml-apis</groupId>
</exclusion>
<exclusion>
<artifactId>xercesImpl</artifactId>
<groupId>xerces</groupId>
</exclusion>
<exclusion>
<artifactId>xmlbeans</artifactId>
<groupId>org.apache.xmlbeans</groupId>
</exclusion>
<exclusion>
<artifactId>xmlParserAPIs</artifactId>
<groupId>xerces</groupId>
</exclusion>
</exclusions>
</dependency>
希望这可以帮助别人!
我们也有这样的麻烦。错误的原因是在gwt库中。 Receipe:从distr中排除所有gwt客户端库。
这个问题的原因是你在库中有多个具有相同类名的jar。 转到WEB-INF/lib并删除xml-apis-1.0.b2.jar和stax-api-1.0.1.jar,或者将它们从pom.xml本身中删除,这样你就会很好。
将xml-beans-1.xb2移除到lib目录。修改了POM所以它不包括与下列条件的jar文件:
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.0.b2</version>
<scope>provided</scope>
</dependency>
至于我的情况,我设法通过删除XML的API库,并能升级XML处理库来解决这个问题:
从 org.apache.xmlbeans/xmlbeans/2.4.0
进入 org.apache.xmlbeans/xmlbeans/2.6.0
通知你,我使用WebLogic 10.3.6.0。
检查sotretus答案在这个线程。如果您使用Maven2,它可能适用于您。 http://forum.springsource.org/archive/index.php/t-22597.html – 2011-02-07 20:10:59
您是否验证过WEB-INF/lib中没有留下任何jar? – 2011-02-07 20:13:39