我有一个应用程序用于群集,以保持它可用,如果一个或多个失败,我想实现一种方法来检查在Java中的jar文件的版本。获取JAR文件版本号
我有这样一段代码这样做(例如:在MyClass类):
URLClassLoader cl = (URLClassLoader) (new MyClass())
.getClass().getClassLoader();
URL url = cl.findResource("META-INF/MANIFEST.MF");
Manifest manifest = new Manifest(url.openStream());
attributes = manifest.getMainAttributes();
String version = attributes.getValue("Implementation-Version");
当我运行的罐子,因为它工作正常,但应用程序时,我使用的jar文件作为LIBRAIRIE在另一个应用程序中,我得到另一个应用程序的版本号。
所以我的问题是,我如何获得包含MyClass的jar的清单?
注:我没有兴趣在溶液中使用静态约束像 'classLoader.getRessource( “MyJar.jar”)' 或文件( “MyJar.jar”)
是的,我也发现这个解决方案,但它不能解决我的问题,因为我必须知道我的jar文件的限定名称。我想要一个动态的解决方案,可以在不受限制的情况下工作,如文件名:/ .. – Kraiss
好的,让我在某个时间后再次发布。 –
好吧,我有一个解决方案!谢谢你!!只是让时间来发布它;) – Kraiss