1

我继承了一个具有导入 !javax 的 .bnd 文件。,如果我取出该语句,我的程序会产生运行时错误。我目前需要将 JavaHelp 添加到我的应用程序中,该应用程序位于 javax.help 下。. 当我的 .bnd 中有这两个导入并且我使用 JavaHelp 中的一个类时,它会为特定类生成一个 ClassNotFoundException,例如 javax.help.JHelp。有没有办法处理这种情况,我觉得卡住了。

4

1 回答 1

5

Bundles一般需要导入所有不以“java.”开头的包。这包括“javax”。包。如果您的 bnd 文件明确不导入 javax. 包,那么它必须依赖于框架的非标准引导委托配置。也就是说,引导委托提供对 javax 的“免费”访问。来自 bundles 父类加载器(可能是引导类加载器)的包。所以当你删除 !javax. 从 bnd 文件中,您的包开始从某个提供程序导入这些包,这些包可能与任何 bootdelegation 提供的不同。

于 2012-07-11T00:20:54.013 回答