13

在 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 有方法只能查看 Bundle 实现版本 getClass().getPackage().getImplementationVersion();

4

2 回答 2

25

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

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

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

于 2013-10-10T06:30:24.667 回答
15

在插件中,您可以使用:

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

VersiongetMajor, getMinor, getMicro,getQualifier方法。

Platformorg.eclipse.core.runtime.Platform

于 2013-10-09T09:29:35.267 回答