JAR-Files



  • Auf Wunsch wird hier noch einmal ausführlicher auf JAR-Files eingegangen.

    Was ist JAR
    Jar steht für Java ARchive. Basierend auf dem berühmten ZIP-Dateiformat werden Java Archive zur Zusammenfassung von vielen Dateien in eine Datei genutzt. Die Motivation für die Entwicklung eines solchen Tools liegt in dem Wunsch vieler Entwickler statt mehrerer Klassen und Bildern nur eine Datei über einen HTTP-Request runterladen zu müssen. Dies hat natürlich auch Geschwindigkeitsvorteile beim Laden von Java-Applets. Auch das JAR-Format unterstützt Kompression wodurch die Downloadzeit noch einmal verkürzt wird. Zusätlich dazu können bestimmte Inhalte eines Java-Archivs auch mit einer digitalen Signatur versehen werden um die Originalität zu gewährleisten.

    Ausführbare JAR-Dateien
    Bei Win32-Systemen registriert das Installationsprogramm der Java 2 Runtime Environment JAR-Dateien mit der JVM, so dass diese über einen Doppelklick auf ein .jar-Archiv automatisch per javaw -jar aufgerufen wird.

    Auf Solaris-Systemen ab Version 2.6 ist der Kernel bereits so erweitert worden, dass er über die "magic-number" (0x504B0304) JAR-Dateien erkennt und diese per java -jar aufruft als ob es ein Solaris-Executable wäre. So kann eine Applikation innerhalb eines JAR-Archivs direkt per Kommandozeile bzw. Klick auf ein Icon im CDE-Desktop ausgeführt werden.

    Allgemeine Kommandozeile mit Erklärungen

    Usage: jar {ctxu}[vfm0M] [jar-file] [manifest-file] [-C dir] files ...
    Options:
        -c  create new archive
        -t  list table of contents for archive
        -x  extract named (or all) files from archive
        -u  update existing archive
        -v  generate verbose output on standard output
        -f  specify archive file name
        -m  include manifest information from specified manifest file
        -0  store only; use no ZIP compression
        -M  Do not create a manifest file for the entries
        -C  change to the specified directory and include the following file
    If any file is a directory then it is processed recursively.
    The manifest file name and the archive file name needs to be specified
    in the same order the 'm' and 'f' flags are specified.
    
    Example 1: to archive two class files into an archive called classes.jar:
           jar cvf classes.jar Foo.class Bar.class
    Example 2: use an existing manifest file 'mymanifest' and archive all the
               files in the foo/ directory into 'classes.jar':
           jar cvfm classes.jar mymanifest -C foo/ .
    

    Vorbedingungen um ein JAR-File per doppelklick starten zu können
    Um ein .jar-File per Doppelklick zum starten zu bewegen muss in dem .jar-File eine sogenannte Manifest-Datei eingebettet sein. Ihr Aufbau kann unter Understanding the Manifest nachgelesen werden.

    Um ein .jar-Archiv nun ausführbar zu machen muss in diese Manifest-Datei folgender Eintrag vorgenommen werden.

    Main-Class: classname
    Also zum Beispiel:

    Manifest-Version: 1.0
    Main-Class: Start
    

    Nicht zu vergessen ist das Verzeichnis, in das die Manifest-Datei plaziert werden muss: META-INF/MANIFEST.MF

    Nützliche Links zum Thema JAR-Files:

    [ Dieser Beitrag wurde am 29.01.2003 um 17:58 Uhr von CengizS editiert. ]


Anmelden zum Antworten