Java-Archive

Typischerweise wird ein Applet dann von einem Browser geladen, wenn ein <APPLET>- oder ein <OBJECT>-Tag einer Webseite ausgewertet wird. Gerade größere Projekte bestehen aber oft aus einer Vielzahl von Klassendateien, Bildern, Video und Audio. Dies ist gleichbedeutend damit, dass zum Laden jeder Komponente eine eigene Verbindung über das Netz aufgebaut werden muss, was einerseits Netzbandbreite verschwendet und andererseits zeitintensiv ist. Zur Lösung dieses Problems stehen in Java die sog. Java-Archive (JARs) zur Verfügung, mit deren Hilfe alle Komponenten eines Projekts in eine Datei gepackt werden können. Zum Laden einer JAR-Datei ist dann nur noch ein einziger Netzzugriff notwendig. Zusätzlich können JAR-Dateien komprimiert werden. Die daraus resultierende Verringerung der Größe einer JAR-Datei führt zu kürzeren Ladezeiten. Zur Kompression kann bspw. das ZIP-Format verwendet werden, das von vielen Browsern verstanden wird.

Zur Generierung von Archiven steht in Java das Werkzeug jar zur Verfügung, mit dessen Hilfe Dateien in eine einzige Datei gepackt bzw. auch wieder ausgepackt werden können. Startet man jar ohne Parameter, so wird eine Liste der möglichen Optionen angezeigt. Zur Generierung von Archiven mit jar ist die folgende Syntax zu verwenden:

syntax 

jar cf Archivname.jar Liste von Dateien

Die Parameter cf stellen eine Abkürzung für die Kommandos create und following dar. Die Liste Dateien kann nach folgenden Formaten angegeben werden:

  • Einzelne Aufführung der Dateien, die dann mit Leerzeichen zu trennen sind.
  • Sammelspezifikation durch Verwendung des Asteriskus. Sollen bspw. alle .class-Dateien eines Verzeichnisses erfasst werden, so werden diese mit *.class angegeben.

Die folgenden zwei Beispiele demonstrieren die Verwendung von jar:

syntax 

jar cf Beispiele.jar Beispiel1.class Beispiel2.class Beispiel1.jpg

jar cf Beispiele.jar *.class *.gif *.jpg *.tif

Nachdem ein Archiv erzeugt worden ist, muss der Parameter ARCHIVE in der HTML-Seite angegeben werden, bspw. in der folgenden Form:

syntax 

<APPLET CODE="Beispiel3.class" ARCHIVE="Beispiele.jar" WIDTH=200 HEIGHT=200 ALIGN=LEFT></APPLET>

Es ist darauf zu achten, dass der Parameter CODE auch weiterhin verwendet wird. Dies ist nötig, da der Browser mittels CODE den Namen der Hauptklassendatei ermittelt. Das Entpacken der Archive muss nicht manuell erfolgen, sondern wird automatisch durch den Browser durchgeführt.


SPNavRight SPNavRight SPNavRight
BuiltByNOF