gpt4 book ai didi

java - OSGI bundle .bnd 文件和冲突的 import-package 语句

转载 作者:行者123 更新时间:2023-11-29 08:05:40 26 4
gpt4 key购买 nike

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

最佳答案

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

关于java - OSGI bundle .bnd 文件和冲突的 import-package 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11422790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com