我在框架中有两个活动的捆绑包。它们中的每一个都具有相同全名的一组类的版本,例如org.eclipse.jface.util.ILogger。在我的代码中,如果我写
System.out.println(ILogger.class.getClassLoader());
我可以看到类加载器来自其中一个bundle。我的问题是我需要使用另一个类中的那个类,而不是osgi框架选择的“默认”包。也就是说,当我编写像
这样的代码时ILogger logger = new ILogger(){}...
我需要记录器在另一个包中定义类型。有没有办法做到这一点?我正在使用Eclipse 4.4。感谢
答案 0 :(得分:1)
玩了一会儿后,我有办法做到这一点。在清单文件的“依赖关系”选项卡上,将一个包保留为“必需的插件”,并将包中的包从“导入的包”中的另一个包中使用。