BIRT 的类加载问题

发布于 2024-09-03 14:38:06 字数 500 浏览 8 评论 0原文

我们将 BIRT 运行时与我们的应用程序(EAR 文件)捆绑在一起,直到最近我们使用的 2.2 版本一切都很好。然而,当我们升级到 BIRT 2.5.1 时,我们遇到了类加载问题。

BIRT 运行时打包了一个 xerces.jar 文件,这是类加载冲突的根本原因,因为 java ext 类路径上还有另一个 xerces.jar 文件。简单的解决方案是删除与 BIRT 运行时一起打包的 xerces.jar 文件,并让 BIRT 从父类加载器层次结构中获取 xerces 类。然而,这似乎不会发生,因为如果我从 BIRT 运行时插件目录中删除 xerces.jar 文件,我的报告就会失败。

为您提供有关我的应用程序结构 EAR 的更多信息


-- 应用程序类
-- 战争
---- WEB-INF
------平台(BIRT)
--------插件 (BIRT)

有没有办法强制 BIRT 从父类加载器的 xerces.jar 文件中加载所需的类?

提前致谢。

We bundle the BIRT runtime with our application(EAR file) and everything was fine with version 2.2 which we were using until recently. However when we upgraded to BIRT 2.5.1 we are running into class loading issues.

The BIRT runtime packages a xerces.jar file which is the root cause for the class loading conflict becuase there is another xerces.jar file on the java ext class path. The simple solution would have been to remove the xerces.jar file that is packaged with the BIRT runtime and let BIRT pickup the xerces classes from the parent classloader hierarchy. However that does not seem to happen as my reports fail if I remove the xerces.jar file from the BIRT runtime plugins directory.

To give you a little bit more info on my app structure

EAR
-- App Classes
-- WAR
---- WEB-INF
------platform (BIRT)
--------plugins (BIRT)

Is there a way to force BIRT to load the required classes from the xerces.jar file from the parent classloader?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月牙弯弯 2024-09-10 14:38:06

尝试将 osgi.parentClassloader=fwk 放入文件 configuration/config.ini 中。

您还可以添加 osgi.debug=/path/to/debug.options 来设置 OSGi/Equinox 的调试选项。请参阅 org.eclipse.osgi*.jar 中的文件 .options 以了解可能的选项。从以下开始,

org.eclipse.osgi/debug=true
org.eclipse.osgi/resolver/debug=true

您应该在标准输出上获得一整堆调试输出。

Try to put osgi.parentClassloader=fwk in the file configuration/config.ini.

You can also add osgi.debug=/path/to/debug.options to set debug options for OSGi/Equinox. See the file .options in the org.eclipse.osgi*.jar for possible options. Start with:

org.eclipse.osgi/debug=true
org.eclipse.osgi/resolver/debug=true

and you should get a whole wad of debug output on stdout.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文