有一个类似的问题on SE,但答案仅适用于检测可用插件的版本。
但是,我想方设法在运行时检索用户定义的功能的版本号。
假设我定义了一个定义插件依赖关系的功能com.me.prog.prod.feature
,稍后在产品定义com.me.prog.prod.product
中使用。启动com.me.prog.prod.product
时,我希望能够检索com.me.prog.prod.feature
的版本信息,因为我希望将其用于顶级程序版本控制。
有没有办法使用Eclipse RCP框架代码?
答案 0 :(得分:2)
以下内容应该为您提供功能版本号:
String version = null;
IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
for (IBundleGroupProvider provider : providers) {
IBundleGroup[] groups = provider.getBundleGroups();
for (IBundleGroup group : groups) {
if ("com.me.prog.prod.feature".equals(group.getIdentifier())) {
version = group.getVersion();
}
}
}
您必须在其中提供特定功能名称,因为插件可能属于多个功能。