我有一个用于群集的应用程序,以便在一个或多个失败时保持可用,并且我想实现一种方法来检查
java中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作为应用程序运行时它工作正常但是当我在其他应用程序中使用jar文件作为librairie时,我得到了另一个应用程序的版本号.
所以我的问题是,我怎样才能获得包含MyClass的jar的清单?
注意:我对使用静态约束的解决方案不感兴趣
‘classLoader.getRessource(“MyJar.jar”)’或File(“MyJar.jar”)