我有一个eclipse插件,并且已经知道我可以为此检索依赖于工作空间的包路径:
Bundle bundle = FrameworkUtil.getBundle(getClass());
IPath path = Platform.getStateLocation(bundle);
如果我将该代码放入我的Bundle激活器类的start方法中,一切正常。但我需要在我的插件中的另一个类中的路径。
现在,我试着去做'捆绑'像这样:
bundleID = "de.some.thing.plugin" // ID of that plugin like in plugin.xml
Bundle bundle = Platform.getBundle(bundleID);
...
但是这会返回null。任何人都可以帮助我排除故障或理解它为什么不起作用吗?
答案 0 :(得分:2)
你不能说bundleId
是什么。这必须是一个包含插件ID的字符串 - 这是插件的MANIFEST.MF中Bundle-SymbolicName
的值(在任何分号后留下任何内容)。
在MANIFEST.MF编辑器中,这显示在' ID' '概述'标签
注意:FrameworkUtil.getBundle(getClass())
将适用于插件中的任何类,而不仅仅是Activator。