是否可以通过传递插件名称/ ID来获取功能标签名称

时间:2017-05-03 12:23:33

标签: java eclipse eclipse-plugin osgi eclipse-rcp

我试图在卸载插件时获取特定插件的功能名称。我可以使用下面的代码获取所需的插件名称和版本。

 IRequirement iRequirement = (IRequirement) iterator.next();
 String[] arr = iRequirement.toString().split("\\[|\\]|\\s+");
 IVersionedId versionedId = new VersionedId(arr[0].trim(), arr[1].trim());

但是,我希望在传递插件ID或名称

时获取功能名称

1 个答案:

答案 0 :(得分:1)

如果你知道插件名称可以说"com.my.plugin",你可以使用这样的东西来获取功能名称。它存储在Bundle

内的字典中
Bundle bundle = Platform.getBundle( "com.my.plugin" );
String featureName = bundle.getHeaders().get( org.osgi.framework.Constants.BUNDLE_NAME );

事实上你也可以得到这样的版本:     Version version = bundle.getVersion();