使用WebLogic解析XML时出现ClassCastException

ros*_*ose 15 java myeclipse jsp servlets weblogic

我收到以下错误消息:

java.lang.ClassCastException:weblogic.xml.jaxp.RegistryDocumentBuilderFactory无法强制转换为javax.xml.parsers.DocumentBuilderFactory

我经历过一些研究这个问题的论坛.他们说要删除xml-apis.jar或者JAR文件是冲突的.但即使我做了所有建议的步骤,我也遇到了同样的错误.

mha*_*ler 14

它始终是xml-apis.jar.从类路径中删除它们(例如,从webapp的WEB-INF/lib中删除它们).


Sub*_*der 5

将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>
Run Code Online (Sandbox Code Playgroud)


Ale*_*exR 4

我认为巴南是对的。论坛http://forum.springsource.org/showthread.php?t=22597描述了类似问题的解决方案。

通常,当类路径中存在同一类的多个版本,而这些版本由不同的类加载器加载时,就会发生此类问题。DocumentBuilderFactory 的一个版本由系统类加载器加载,另一个版本由企业应用程序的类加载器加载。当您调用 XML 解析器时,将使用该类的父版本。当您铸造时,会使用您的私人版本。这些版本不兼容,导致 ClassCastException。