Wie Version eines JAR-Files erfragen/anzeigen

Hallo,
wie kann man die Version eines JAR-Files abfragen ?
In der MAnifest-DAtei kann man ja z.B: Implementation-Version bzw. Specification-Version angeben.

Die Implementation-Version kann man dann z.B: in einem JAVA-File über
this.getClass ().getPackage ().getImplementationVersion () abfragen.

Gibt es auch Command line Parameter über die man direkt die Version eines JAR-Files bekommt z.B: XYZ.JAR -v oder so ähnlich

Leider habe ich diesbezüglich nichts gefunden !

Danke
Albert

Hallo,
wie kann man die Version eines JAR-Files abfragen ?

Man kann es nicht, weil ein JAR-File keine Version hat.
Du kannst Classfiles mit verschiedenen Versionen erzeugen, und diese in ein gemeinsames Jar packen - welche Version hat jetzt das JAR?
Eben.
Um das zu prüfen, erzeuge zwei Klassen Version1_4 und ~1_5.

public class Version1\_5
{
 /\*\* \*/
 public static void main (String args[])
 {
 Version1\_4.show ();
 }

 /\*\* \*/
 public static void show ()
 {
 System.out.println ("Version1\_5");
 }
}

Im 1_4-File ersetzt Du jede 4 durch 5 und jede 5 durch 4.
Kompilier es mit

javac -source 1.4 -target 1.4 Version1\_4.java

Dabei werden - da die 1_4 die 1_5 aufruft - beide kompiliert.
Jetzt ein ls -l oder unter Windows dir machen, eine Minute warten, und die 1_5 nochmal neu kompilieren:

javac Version1\_5.java
ls -l
jar -cf version.jar Version1\_5.class Version1\_4.class
java -cp version.jar Version1\_5
java -cp version.jar Version1\_4

Es zeigt sich: beim 2. Kompilieren wird die 1_4 nicht neu kompiliert, da das class-File ja bereits vorhanden ist.
Jetzt sind Klassen unterschiedlicher Versionen im Paket, und arbeiten brav zusammen - jede kann die andere aufrufen.

Wenn Du wirklich wissen mußt, für welche Version die Klassen kompiliert wurden, dann mußt Du alle Klassen einzeln testen.

Ich frage mich nur: wozu?