如何在运行时获取系统包片段版本

时间:2014-01-17 21:47:34

标签: osgi equinox

我使用以下方法为主机包创建了系统包片段:

Fragment-Host: system.bundle;extension:=framework

我想知道系统包激活器方法中片段的版本。有办法实现吗?

如果我使用激活方法的context参数,我可以获得系统包但无法找到如何获取其片段...

提前感谢。

1 个答案:

答案 0 :(得分:0)

检查OSGi Core Spec 5.0(7.2.x章节)

  BundleWiring wA = systemBundleContext.getBundle().adapt( BundleWiring.class );
  for ( BundleWire wire : wA.getProvidedWires(HOST_NAMESPACE)) {
    // fragment bundle version
    wire.getRequirerWiring().getResource().getVersion();
  }