如何在运行时获取自定义功能的版本?

时间:2012-04-24 12:26:05

标签: java eclipse-plugin version eclipse-rcp

有一个类似的问题on SE,但答案仅适用于检测可用插件的版本。

但是,我想方设法在运行时检索用户定义的功能的版本号。

假设我定义了一个定义插件依赖关系的功能com.me.prog.prod.feature,稍后在产品定义com.me.prog.prod.product中使用。启动com.me.prog.prod.product时,我希望能够检索com.me.prog.prod.feature的版本信息,因为我希望将其用于顶级程序版本控制。

有没有办法使用Eclipse RCP框架代码?

1 个答案:

答案 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();
        }
    }
}

您必须在其中提供特定功能名称,因为插件可能属于多个功能。