我们将 BIRT 运行时与我们的应用程序(EAR 文件)捆绑在一起,直到最近我们还在使用 2.2 版,一切都很好。然而,当我们升级到 BIRT 2.5.1 时,我们遇到了类加载问题。
BIRT 运行时打包了一个 xerces.jar 文件,这是类加载冲突的根本原因,因为在 java ext 类路径上还有另一个 xerces.jar 文件。简单的解决方案是删除与 BIRT 运行时打包的 xerces.jar 文件,让 BIRT 从父类加载器层次结构中提取 xerces 类。但是,如果我从 BIRT 运行时插件目录中删除 xerces.jar 文件,这似乎不会发生,因为我的报告会失败。
为您提供有关我的应用程序结构的更多信息
EAR
-- App Classes
-- WAR
---- WEB-INF
------平台(BIRT)
--------插件(BIRT)
有没有办法强制 BIRT 从父类加载器的 xerces.jar 文件中加载所需的类?
提前致谢。