【发布时间】:2015-01-18 12:09:03
【问题描述】:
我对如何在部署之前使用 Java 读取 OSGI 捆绑 jar 文件版本感兴趣?有没有办法在部署之前提取这些数据?
【问题讨论】:
标签: java osgi osgi-bundle karaf
我对如何在部署之前使用 Java 读取 OSGI 捆绑 jar 文件版本感兴趣?有没有办法在部署之前提取这些数据?
【问题讨论】:
标签: java osgi osgi-bundle karaf
如果您只是想获得版本,这可能完全是矫枉过正,但一般来说,读取各种捆绑数据的一个非常好的方法是使用bnd。许多工具都是在 bnd 之上构建的,但它也很容易用作库。
【讨论】:
您可以使用标准 Java 做到这一点:
JarFile jarFile = new JarFile("myjar.jar");
Manifest manifest = jarFile.getManifest();
Attributes mainAttributes = manifest.getMainAttributes();
String bundleVersion = (String) mainAttributes.get(Constants.BUNDLE_VERSION);
Constants 类来自 org.osgi.framework 包。
【讨论】: