Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 5. Auflage |
<< | < | > | >> | API | Kapitel 51 - Hilfsprogramme des JDK |
jar [ commands ] archive { input-file } |
jar ist ein Archivierungsprogramm, das Dateien und komplette Unterverzeichnisse komprimieren und in eine gemeinsame Archivdatei packen kann. Es verwendet ein Kompressionsformat, das den diversen zip-/unzip-Programmen ähnelt, und wird analog dem UNIX-Tool tar bedient. Ein Vorteil von jar ist seine Portabilität, die sowohl für das erzeugte Dateiformat als auch für das (in Java geschriebene) Programm selbst gilt.
Wichtigster Einsatzzweck von jar ist es, alle zu einem Java-Programm gehörenden Dateien (.class-, Image-, Sound-Dateien usw.) in einer einzigen Datei zusammenzufassen. Neben den organisatorischen Vorteilen, die diese Möglichkeit zweifellos bietet, wurden jar-Dateien vor allem eingeführt, um das Laden von Applets aus dem Internet zu beschleunigen. Dadurch müssen Web-Browser nämlich nicht mehr für jede einzelne Datei, die in einem Applet benötigt wird, eine eigene GET-Transaktion absetzen, sondern können alle erforderlichen Files in einem Schritt laden. Die Ladezeit von Applets wird dadurch drastisch verringert, insbesondere, wenn viele kleine Dateien benötigt werden.
Im Gegensatz zu den übrigen Programmen, die in diesem Kapitel vorgestellt wurden, kennt jar keine Optionsparameter, sondern erwartet Kommandos an ihrer Stelle. Ein Kommando besteht aus einem Buchstaben, der ohne den Präfix - angegeben wird. Sollen mehrere Kommandos kombiniert werden, so werden die zugehörigen Buchstaben ohne Lücken direkt hintereinander geschrieben. Diese abweichende Syntax stammt von dem Kommando tar, das auf UNIX-Rechnern zur Archivierung von Dateien eingesetzt wird. Tabelle 51.7 gibt eine Übersicht der verfügbaren Kommandos.
Kommando | Bedeutung |
c | Erzeugt eine neue Archivdatei (create). Kann nicht zusammen mit t oder x verwendet werden. |
t | Gibt das Inhaltsverzeichnis der Archivdatei aus (table of contents). Kann nicht zusammen mit c oder x verwendet werden. |
x file | Extrahiert eine oder mehrere Dateien aus dem Archiv (extract). Kann nicht zusammen mit c oder t verwendet werden. |
u | Fügt die angegebenen Dateien in die bestehende Archivdatei ein. |
f | Gibt an, dass der nächste Parameter der Name der Archivdatei ist. Wird das Kommando f nicht angegeben, verwendet jar statt dessen die Standardein- und -ausgabe. |
v | Gibt zusätzliche Informationen aus (verbose). Kann zusätzlich zu einem der anderen Kommandos verwendet werden. |
0 | Die Dateien werden ohne Kompression gespeichert. |
Tabelle 51.7: Kommandos von jar
Sollen beispielsweise alle .java-Dateien
des aktuellen Verzeichnisses in ein Archiv mit der Bezeichnung xyz.jar
gepackt werden, so kann dazu folgendes Kommando verwendet werden:
jar cf xyz.jar *.java
Das Inhaltsverzeichnis des Archivs kann folgendermaßen abgerufen
werden:
jar tf xyz.jar
Etwas ausführlicher geht es mit:
jar tvf xyz.jar
Um die Datei Test.java aus dem Archiv
zu extrahieren, kann das folgende Kommando verwendet werden (das natürlich
auch ohne den Zusatz v funktioniert):
jar xvf xyz.jar Test.java
Die Verwendung von jar-Dateien in Applets erfolgt mit Hilfe des ARCHIVE-Parameters des APPLET-Tags (siehe Kapitel 39). Soll beispielsweise das »Hello, World«-Programm HWApplet.java aus Listing 39.7 aus einem jar-Archiv hello.jar ausgeführt werden, so ist in den folgenden Schritten vorzugehen.
Zunächst werden die Dateien HWApplet.class,
hello.au und world.au
in ein jar-Archiv gepackt:
jar cvf hello.jar HWApplet.class hello.au world.au
Anschließend wird die HTML-Datei HWApplet.html zum Aufruf des Applets erstellt:
001 <html> 002 <head> 003 <title>HWApplet</title> 004 </head> 005 <body> 006 <h1>HWApplet</h1> 007 <applet 008 code=HWApplet.class 009 archive=hello.jar 010 width=300 011 height=200> 012 Hier steht das Applet HWApplet.class 013 </applet> 014 </body> 015 </html> |
HWApplet.html |
Nun kann das Applet wie bisher gestartet werden, benötigt aber zum Laden aller Dateien nur noch eine einzige HTTP-Transaktion.
Leider unterstützen noch nicht alle Browser das jar-Format, so dass seine Verwendung zum heutigen Zeitpunkt überlegt sein will. Für die nahe Zukunft ist es aber ein wichtiger Schritt zur Verbesserung der Ladezeiten von Applets. |
|
Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 5. Auflage, Addison Wesley, Version 5.0.2 |
<< | < | > | >> | API | © 1998, 2007 Guido Krüger & Thomas Stark, http://www.javabuch.de |