gpt4 book ai didi

java - 以编程方式更改 OSGi 包导入

转载 作者:行者123 更新时间:2023-12-01 18:46:43 25 4
gpt4 key购买 nike

我的 Equinox OSGi 应用程序中有一个通用包 (A),用于执行通用任务。但 bundle A 根据情况从许多其他 bundle 导入包。我的意思是,当Bundle A和Bundle B在运行时时,A应该导入包“com.b.package1”。当Bundle A和Bundle C在运行时时,A应该导入包“com.c.package2”。为此,每次我想要更改运行时时,我都必须手动更改 bundle A 中的 MANIFEST.MF 文件中的导入语句。有没有办法以编程方式处理这个问题。也许在 bundle A 中使用自定义类加载器?如有任何帮助,我们将不胜感激。

最佳答案

为了回答您的问题,不可能以独立于框架的方式创建自定义 bundle 类加载器。然而,还有其他选择。

一种可能的方法是使用动态导入。然后这两个包都可以在运行时访问。将这两种导入设置为可选也可能有效。

您还应该针对您的方法考虑 OSGi 服务(或声明性服务)。

关于java - 以编程方式更改 OSGi 包导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17494340/

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