【问题标题】:eclipse osgi: how to load class from a specific bundleeclipse osgi:如何从特定包中加载类
【发布时间】:2015-04-25 16:03:14
【问题描述】:

我有两个在框架中都处于活动状态的捆绑包。它们中的每一个都有其具有相同全名的一组类的版本,例如,org.eclipse.jface.util.ILogger。在我的代码中,如果我写

System.out.println(ILogger.class.getClassLoader());

我可以看到类加载器来自其中一个包。我的问题是我需要使用另一个类中的那个类,而不是 osgi 框架选择的“默认”包。也就是说,当我写这样的代码时

ILogger logger = new ILogger(){}...

我需要记录器具有在另一个包中定义的类型。有没有办法做到这一点?我正在使用 Eclipse 4.4。谢谢

【问题讨论】:

    标签: java eclipse equinox osgi-bundle


    【解决方案1】:

    玩了一段时间后,我有了一个办法。在清单文件的“依赖项”选项卡上,将一个包保留为“必需的插件”,并将包从“导入的包”中的另一个包中使用。

    【讨论】:

      猜你喜欢
      • 2015-01-08
      • 2015-03-06
      • 1970-01-01
      • 2018-06-13
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 2023-03-07
      • 2018-09-09
      相关资源
      最近更新 更多