Wie lassen sich *.jar-Dateien herstellen?
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.
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.