4

我正在使用一个用 cocoon 框架 (Java) 编写并在 WAS 7.0.0.0 上运行的 Web 应用程序。在 WAS 6.XXX 上运行时,一切正常。

但是,在运行时的 WAS 7 上,我收到以下错误:

java.lang.ClassCastException org.apache.xerces.jaxp.DocumentBuilderFactoryImpl incompatible with javax.xml.parsers.DocumentBuilderFactory at javax.xml.parsers.DocumentBuilderFactory.newInstance

我们怀疑这是一个 ClassLoader 问题。

我已经尝试了很多步骤来克服这个问题:

  1. 我试图在 WAS 管理控制台中添加一个新的自定义属性:

    应用程序服务器 -> 服务器名称 -> 进程定义 -> Java 虚拟机 -> 自定义属性

    • 名称 = javax.xml.parsers.DocumentBuilderFactory
    • 值 = org.apache.xerces.jaxp.DocumentBuilderFactoryImpl

    但这并没有解决问题!

  2. 我尝试在 WAS 管理控制台中更改 WAS 管理控制台中的 WAS 类加载器顺序,在父级优先和父级最后 - 这两个选项都没有解决问题。

如果您需要更多信息,请告诉我。

4

1 回答 1

0

因为 was7 必须内置这些罐子。您需要从您的耳朵/战争中删除这些罐子,然后部署。相同 jar 的多个副本存在冲突。

问候,

于 2013-04-18T01:15:58.473 回答