如何从内部获取OSGi组件的版本?

时间:2014-10-06 09:13:26

标签: java osgi version

我想打印OSGi包的版本。

class Production {
  public Production() {
    System.out.println("Version:" + OSGI.getMyVersion());
  }
}

这可能吗?

2 个答案:

答案 0 :(得分:2)

您可以使用此API获取对bundle及其版本的引用:

org.osgi.framework.FrameworkUtil.getBundle(getClass()).getVersion()

答案 1 :(得分:0)

您可以使用

BundleContext.getBundle().getVersion()

访问BundleContext的方式取决于您在捆绑包中使用的技术。如果使用基本OSGi API,则实现BundleActivator以访问BundleContext。如果使用像Blueprint这样的注入框架,通常可以将BundleContext注入任何属性。