我正在尝试通过代码重新创建已安装的功能列表(就像您在已安装的eclipse软件列表中找到的那样)。
如果我的RCP应用程序的当前状态中存在某些功能,我想检查代码。
我尝试使用此处创造的API:How can my Eclipse RCP code list all installed features?
但我似乎无法重新创建所有功能的列表。 (只有大约9个功能......)
这是我正在使用的代码:
IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
IBundleGroup[] groups = providers[0].getBundleGroups();
然后,当我迭代这些组时,我找不到自定义功能......
有什么想法吗?
答案 0 :(得分:1)
这可能有用吗?
for (IBundleGroupProvider provider : Platform.getBundleGroupProviders()) {
for (IBundleGroup feature : provider.getBundleGroups()) {
final String providerName = feature.getProviderName();
final String featureId = feature.getIdentifier();
for (Bundle bundle : feature.getBundles()) {
...
}
}
}
答案 1 :(得分:1)
上面的代码段没有列出我的捆绑包。但是,如果捆绑存在,则进行以下测试:
Bundle plugin = Platform.getBundle("my.bundle.id");
if (plugin != null) {
System.out.println("- bundle found: " + plugin.getSymbolicName());
}