Eclipse-plugin-dev:如何获取当前的捆绑包版本?

2022-09-04 05:39:06

在Eclipse插件开发中:如何获取当前的捆绑包版本?

它只是在Manifest.MF中

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Nodeclipse
Bundle-SymbolicName: org.nodeclipse.ui;singleton:=true
Bundle-Version: 0.6.0.qualifier
Bundle-Activator: org.nodeclipse.ui.Activator
Require-Bundle: org.eclipse.ui,

但是Java的方法只能查看捆绑实现版本getClass().getPackage().getImplementationVersion();


答案 1

以一种更OSGi的方式,不必知道你的名字,以及官方标准的方式:

 Version version = FrameworkUtil.getBundle(getClass()).getVersion();

请注意,您获得的捆绑软件版本来自从中加载此内容的捆绑软件。所以不要把它放在另一个捆绑包的便利库中!


答案 2

在插件中,您可以使用:

Bundle bundle = Platform.getBundle("org.nodeeclipse.ui");
Version version = bundle.getVersion();

Version具有 、 、 、 方法。getMajorgetMinorgetMicrogetQualifier

Platformorg.eclipse.core.runtime.Platform


推荐