JAR-Datei: Unterschied zwischen den Versionen
K (→MANIFEST.MF) |
|||
Zeile 1: | Zeile 1: | ||
Eine JAR-Datei ('''''J'''ava '''Ar'''chive''), ist ein Archiv, welches auf dem [[ZIP]]-Format basiert. JAR-Dateien sind identisch zu ZIP-Dateien nur um einen Ordner ''META-INF'' erweitert. | Eine JAR-Datei ('''''J'''ava '''Ar'''chive''), ist ein Archiv, welches auf dem [[ZIP]]-Format basiert. JAR-Dateien sind identisch zu ZIP-Dateien nur um einen Ordner ''META-INF'' erweitert. | ||
− | JAR-Dateien werden | + | JAR-Dateien werden verwendet, um die einzelnen Dateien eines Projekts zusammen zufassen. So sind in einem Archiv häufig neben [[Class]]-Dateien auch multimediale Inhalte zu finden (Bilder, Sound etc.).<br/> |
+ | Wenn die Manifestdatei mit einem Eintrag für eine Startklasse (Main-Class) versehen wurde, kann eine die JAR-Datei bei passender JRE per Mausklick gestartet werden. | ||
=META-INF= | =META-INF= |
Version vom 19. September 2008, 14:27 Uhr
Eine JAR-Datei (Java Archive), ist ein Archiv, welches auf dem ZIP-Format basiert. JAR-Dateien sind identisch zu ZIP-Dateien nur um einen Ordner META-INF erweitert.
JAR-Dateien werden verwendet, um die einzelnen Dateien eines Projekts zusammen zufassen. So sind in einem Archiv häufig neben Class-Dateien auch multimediale Inhalte zu finden (Bilder, Sound etc.).
Wenn die Manifestdatei mit einem Eintrag für eine Startklasse (Main-Class) versehen wurde, kann eine die JAR-Datei bei passender JRE per Mausklick gestartet werden.
Inhaltsverzeichnis
META-INF
Der META-INF Ordner enthält immer eine Datei MANIFEST.MF, in dieser werden Informationen über das Archiv bzw. das Programm beschrieben. Zusätzlich können auch Dateien für die Signatur des Archivs vorhanden sein.
MANIFEST.MF
In der Manifest-Datei werden verschiedene Eigenschaften beschrieben. Die Eigenschaften werden durch einen Tupel von Schlüsselwort und Wert angegeben. Für verschiedene Bereiche der Verwendung, sind auch verschiedene Eigenschaften vorgesehen:
Bereich | Attribut | Beschreibung | Optional |
---|---|---|---|
Allgemein | Manifest-Version | Versionsnummer für die Manifest-Datei | Nein |
Created-By | Optionale Angabe des Erstellers | Ja | |
Name | Angabe des Namens einer Datei, z.B. für eine Signatur oder Bean | Ja | |
SHA1-Digest | SHA1 Signatur für die darüber angegebene Datei | Ja | |
Signature-Version | Definiert die Version der Signatur | Ja | |
Class-Path | Angabe von Klassen und JAR-Dateien, die zum Classpath hinzugefügt werden sollen, sie sollten immer mit ./ beginend angegeben werden | JA | |
Anwendungen | Main-Class | Angabe der Mainclass, sie ist nötig wenn die JAR-Datei ausführbar sein soll | JA (wenn es kein ausführbares Programm ist) |
Applets | Extension-List | ||
*-Extension-Name | |||
*-Specification-Version | |||
*-Implementation-Version | |||
*-Implementation-Vendor-Id | |||
*-Implementation-URL | |||
Extensions | Extension-Name | ||
Implementation-Title | |||
Implementation-Vendor | |||
Implementation-Vendor-Id | |||
Implementation-URL | |||
Specification-Title | |||
Specification-Version | |||
Specification-Vendor | |||
Sealed | |||
J2EE | Java-Bean | Definiert eine Java Bean Klasse | |
x-Digest-y | |||
Magic |
Jede Manifest-Datei muss mit einer Leerzeile abgeschlossen werden.
Beispiel
Manifest-Version: 1.0 Created-By: Eagle Projekt Manager 1.1.0.0 Main-Class: de.eagleside.databasedesigner.DatabaseDesignerMain CLASS-PATH: ./lib/jdom.jar ./lib/EagleSwingLibrary.jar ./lib/EagleUtilLibrary.jar