我感兴趣的是如何在部署之前用Java读取OSGI bundle jar文件版本?有没有办法在部署之前提取这些数据?
答案 0 :(得分:5)
您可以使用标准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 包。
答案 1 :(得分:0)
如果你只是想获得它可能完全矫枉过正的版本,但一般来说,阅读所有类型的数据包的一个非常好的方法是使用bnd。许多工具都是在bnd之上构建的,但它也很容易用作库。