Um den Inhalt einer *.jar-Datei anzuzeigen gibt man auf der Konsole folgendes ein:
jar tvf meineJarDatei.jar
Die Herstellung eines solchen Archivs zum Packen einer Java-Applikation
gestaltet sich recht einfach. Liegen *.java und *.class-Dateien im gleichen
Verzeichnis, wechselt man in dieses Verzeichnis und löscht zunächst
die *.class-Dateien, um sie später optimiert wieder erstellen zu können:
cd pfadZumVerzeichnis
rm *.class
Anschließend kompiliert man alles nochmals ohne Debugging-Informationen.
-target 1.6 erfasst hierbei die Zielversion
der JVM. Die zulässigen Versionsbezeichner und weitere Parameter
können in den Man-Pages
des Compilers mit
man javac nachgelesen werden.
javac -g:none -target 1.6 *.java
Als nächstes muss eine Manifest-Datei erstellt werden. Sie ermöglicht
der JVM die Einstiegsklasse mit der
main()
-Methode zu ermitteln. Es handelt sich hierbei um eine einfache Text-Datei.
Sie liegt üblicherweise in einem
Verzeichnis
META-INF und trägt den Namen
MANIFEST.MF.
Die Datei selber enthält den folgenden Text
Manifest-Version: 1.0
Class-Path: .
Main-Class: MeineMainKlasse
Class-Path gibt hierbei das Stamm-Verzeichnis der kompilierten
Klassen an. Das oberste Verzeichnis des Archivs wird mit einem Punkt
angegeben.
Bsp.: Liegt die Klasse mit der
main()
-Methode im Verzeichnis
app und die Manifest-Datei liegt unter
app/META-INF/MANIFEST.MF so muss ein Punkt als Classpath angegeben
werden.
Die *.jar-Datei selbst kann dann mit den beiden folgenden Befehlen erstellt
und ausgeführt werden:
jar cvmf META-INF/MANIFEST.MF meinJarFile.jar *.class
java -jar meinJarFile.jar
Als Ergebnis lässt sich im aktuellen Verzeichnis eine *.jar-Datei mit dem
Namen
meinJarFile.jar finden.