3

我正在尝试通过代码重新创建已安装的功能列表(就像您可以在 eclipse 的已安装软件列表中找到的那样)。

如果我的 RCP 应用程序的当前状态中存在某些功能,我想检查代码。

我尝试使用此处创建的 API:我的 Eclipse RCP 代码如何列出所有已安装的功能?

但我似乎无法重新创建所有功能的列表。(仅获得大约 9 个功能...)

这是我正在使用的代码:

IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
IBundleGroup[] groups = providers[0].getBundleGroups();

然后,当我迭代组时,我找不到我的自定义功能......

有什么想法吗?

4

2 回答 2

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()) {
         ...
      }
   }
}
于 2012-11-21T23:43:48.023 回答
1

上面的代码片段没有列出我的捆绑包。但是,如果存在捆绑包,则以下测试有效:

Bundle plugin = Platform.getBundle("my.bundle.id");
if (plugin != null) {
    System.out.println("- bundle found: " + plugin.getSymbolicName());
}
于 2014-08-08T14:04:55.880 回答