BIRT 的类加载问题
我们将 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试将 osgi.parentClassloader=fwk 放入文件
configuration/config.ini
中。您还可以添加 osgi.debug=/path/to/debug.options 来设置 OSGi/Equinox 的调试选项。请参阅
org.eclipse.osgi*.jar
中的文件.options
以了解可能的选项。从以下开始,您应该在标准输出上获得一整堆调试输出。
Try to put
osgi.parentClassloader=fwk
in the fileconfiguration/config.ini
.You can also add
osgi.debug=/path/to/debug.options
to set debug options for OSGi/Equinox. See the file.options
in theorg.eclipse.osgi*.jar
for possible options. Start with:and you should get a whole wad of debug output on stdout.