繁体   English   中英

OSGI捆绑包.bnd文件和冲突的导入包语句

[英]OSGI bundle .bnd file and conflicting import-package statements

我继承了一个具有导入!javax的.bnd文件。 ,如果我删除该语句,程序将产生运行时错误。 我目前需要将JavaHelp添加到我的应用程序中,该应用程序位于javax.help下。 当我在.bnd中同时拥有这两个导入并且使用JavaHelp中的类时,它将为特定类生成ClassNotFoundException,例如javax.help.JHelp。 有办法解决这种情况,我感到很困惑。

捆绑软件通常需要导入所有不以“ java”开头的软件包。 这包括“ javax”。 包。 如果您的bnd文件明确不导入javax。 软件包,那么它必须依赖非标准的启动委托配置框架。 也就是说,引导委托提供对javax的“免费”访问。 捆绑包的父类加载器(可能是bootclassloader)中的软件包。 因此,当您删除!javax时。 从bnd文件中,您的捆绑包开始从某个提供程序导入那些软件包,而这些软件包可能与bootdelegation提供的内容不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM