Wie man eine ausführbare JAR-Datei mit einem Manifest erstellt

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Java Archive (JARs) sind eine beliebte Methode, um Java-Anwendungen zu packen und zu verteilen. In diesem Tutorial erfahren Sie, wie Sie eine ausführbare JAR-Datei mit einem benutzerdefinierten Manifest erstellen können. Dies ermöglicht es Ihnen, die Hauptklasse und andere Metadaten für Ihre Java-Anwendung anzugeben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("Packages / API") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/FileandIOManagementGroup -.-> java/read_files("Read Files") subgraph Lab Skills java/classes_objects -.-> lab-413987{{"Wie man eine ausführbare JAR-Datei mit einem Manifest erstellt"}} java/packages_api -.-> lab-413987{{"Wie man eine ausführbare JAR-Datei mit einem Manifest erstellt"}} java/files -.-> lab-413987{{"Wie man eine ausführbare JAR-Datei mit einem Manifest erstellt"}} java/create_write_files -.-> lab-413987{{"Wie man eine ausführbare JAR-Datei mit einem Manifest erstellt"}} java/read_files -.-> lab-413987{{"Wie man eine ausführbare JAR-Datei mit einem Manifest erstellt"}} end

Grundlagen zu Java Archive (JARs)

Java Archive (JARs) sind ein Dateiformat, das zur Verpackung von Java-Anwendungen und -Bibliotheken verwendet wird. JARs sind im Wesentlichen ZIP-Dateien, die kompilierte Java-Klassen, Ressourcen und Metadaten enthalten. Der Hauptzweck einer JAR-Datei besteht darin, Java-Anwendungen und -Bibliotheken zu verteilen und bereitzustellen.

Was ist eine JAR-Datei?

Eine JAR (Java Archive)-Datei ist ein Dateiformat, das dazu dient, Java-Klassen, Ressourcen und Metadaten in einer einzigen Datei zusammenzufassen. JAR-Dateien basieren auf dem ZIP-Dateiformat, was bedeutet, dass sie komprimierte Dateien und Verzeichnisse enthalten können. Dies erleichtert die Verteilung und Bereitstellung von Java-Anwendungen und -Bibliotheken, da alle erforderlichen Dateien in einer einzigen Datei enthalten sind.

Warum sollten Sie JAR-Dateien verwenden?

Die Verwendung von JAR-Dateien bietet mehrere Vorteile:

  1. Verpackung und Verteilung: JAR-Dateien erleichtern die Verpackung und Verteilung von Java-Anwendungen und -Bibliotheken. Alle erforderlichen Dateien sind in einer einzigen Datei enthalten, was die Verteilung und Installation vereinfacht.
  2. Komprimierung: JAR-Dateien können den Inhalt der Datei komprimieren, wodurch die Gesamtgröße der Datei verringert und das Herunterladen und Installieren beschleunigt wird.
  3. Classpath-Verwaltung: JAR-Dateien können dem Classpath einer Java-Anwendung hinzugefügt werden, was die Verwaltung der von der Anwendung benötigten Abhängigkeiten und Ressourcen erleichtert.
  4. Ausführbare JARs: JAR-Dateien können ausführbar gemacht werden, sodass Benutzer die Anwendung direkt aus der JAR-Datei ausführen können, ohne dass eine separate Java-Laufzeitumgebung installiert werden muss.

Struktur einer JAR-Datei

Eine JAR-Datei enthält die folgenden Komponenten:

  • Kompilierte Java-Klassen: Die kompilierten Java-Klassen, aus denen die Anwendung oder Bibliothek besteht.
  • Ressourcen: Alle Ressourcen, die von der Anwendung oder Bibliothek benötigt werden, wie Bilder, Konfigurationsdateien oder Datenbankdateien.
  • Manifest-Datei: Eine spezielle Datei, die Metadaten über die JAR-Datei enthält, wie die Hauptklasse, den Classpath und andere Informationen.

Die Struktur einer JAR-Datei kann mithilfe eines Mermaid-Diagramms visualisiert werden:

graph TD A[JAR File] --> B[Compiled Java Classes] A --> C[Resources] A --> D[Manifest File]

Indem Sie die Struktur und den Zweck von JAR-Dateien verstehen, können Sie diese effektiv in Ihren Java-Entwicklungsprojekten erstellen und nutzen.

Erstellen einer ausführbaren JAR-Datei

Um eine ausführbare JAR-Datei zu erstellen, müssen Sie eine Hauptklasse angeben, die ausgeführt wird, wenn die JAR-Datei gestartet wird. Dies geschieht, indem Sie einen speziellen Eintrag in die Manifest-Datei der JAR-Datei hinzufügen.

Manifest-Datei

Die Manifest-Datei ist eine spezielle Datei innerhalb der JAR-Datei, die Metadaten über den Inhalt der JAR enthält. Sie befindet sich im Pfad META-INF/MANIFEST.MF innerhalb der JAR-Datei.

Die Manifest-Datei kann verschiedene Einträge enthalten, aber der wichtigste Eintrag für die Erstellung einer ausführbaren JAR ist der Main-Class-Eintrag. Dieser Eintrag gibt den vollqualifizierten Namen der Hauptklasse an, die ausgeführt werden soll, wenn die JAR-Datei gestartet wird.

Erstellen einer ausführbaren JAR

Um eine ausführbare JAR-Datei zu erstellen, befolgen Sie diese Schritte:

  1. Kompilieren Sie Ihren Java-Code und stellen Sie sicher, dass alle erforderlichen Klassen und Ressourcen in den richtigen Verzeichnissen liegen.

  2. Erstellen Sie eine Manifest-Datei mit dem Main-Class-Eintrag. Beispiel:

    Manifest-Version: 1.0
    Main-Class: com.example.MyMainClass
  3. Packen Sie die kompilierten Klassen, Ressourcen und die Manifest-Datei in eine JAR-Datei mit dem jar-Befehl:

    jar cvfm my-app.jar manifest.mf -C bin/.

    Dieser Befehl erstellt eine JAR-Datei namens my-app.jar mit dem Inhalt des bin/-Verzeichnisses und der manifest.mf-Datei als Manifest.

  4. Sie können nun die ausführbare JAR-Datei mit dem java-Befehl ausführen:

    java -jar my-app.jar

Der Prozess der Erstellung einer ausführbaren JAR-Datei kann mithilfe eines Mermaid-Diagramms visualisiert werden:

graph TD A[Compile Java Code] --> B[Create Manifest File] B --> C[Package into JAR File] C --> D[Run Executable JAR]

Indem Sie diese Schritte befolgen, können Sie eine ausführbare JAR-Datei erstellen, die einfach verteilt und auf jedem System mit einer installierten Java-Laufzeitumgebung ausgeführt werden kann.

Anpassen des JAR-Manifests

Die JAR-Manifestdatei bietet eine Möglichkeit, Metadaten über den Inhalt der JAR-Datei zu speichern. Diese Metadaten können verwendet werden, um das Verhalten der JAR-Datei und die Art und Weise, wie sie ausgeführt wird, anzupassen. In diesem Abschnitt werden einige der gängigen Manifest-Einträge untersucht, die Sie verwenden können, um Ihre JAR-Dateien anzupassen.

Gängige Manifest-Einträge

Hier sind einige der am häufigsten verwendeten Manifest-Einträge:

Eintrag Beschreibung
Main-Class Gibt den vollqualifizierten Namen der Hauptklasse an, die ausgeführt werden soll, wenn die JAR-Datei gestartet wird.
Class-Path Gibt eine Liste von JAR-Dateien oder anderen Ressourcen an, die dem Classpath hinzugefügt werden sollen, wenn die JAR-Datei ausgeführt wird.
Created-By Gibt den Namen und die Version des Tools an, das zur Erstellung der JAR-Datei verwendet wurde.
Sealed Gibt an, ob die JAR-Datei versiegelt ist, was bedeutet, dass ihr Inhalt nicht geändert werden kann.
Implementation-Title, Implementation-Version, Implementation-Vendor Liefern Informationen über die Implementierung der JAR-Datei.
Specification-Title, Specification-Version, Specification-Vendor Liefern Informationen über die Spezifikation, die die JAR-Datei implementiert.

Anpassen des Manifests

Um die Manifestdatei anzupassen, können Sie eine Textdatei mit den gewünschten Einträgen erstellen und dann den jar-Befehl verwenden, um die JAR-Datei mit dem benutzerdefinierten Manifest zu packen.

Beispielsweise können Sie den folgenden Befehl verwenden, um eine JAR-Datei mit einem benutzerdefinierten Manifest zu erstellen:

jar cvfm my-app.jar manifest.mf -C bin/.

Hier ist manifest.mf der Name der Datei, die die benutzerdefinierten Manifest-Einträge enthält.

Sie können auch den jar-Befehl verwenden, um eine vorhandene JAR-Datei mit einem neuen Manifest zu aktualisieren:

jar ufm existing-app.jar new-manifest.mf

Dieser Befehl aktualisiert das Manifest der existing-app.jar-Datei mit den Einträgen in der new-manifest.mf-Datei.

Durch die Anpassung des JAR-Manifests können Sie zusätzliche Informationen über Ihre Java-Anwendung bereitstellen und steuern, wie sie ausgeführt wird.

Zusammenfassung

Am Ende dieses Tutorials werden Sie ein solides Verständnis von Java Archive (JARs) haben und wissen, wie Sie eine ausführbare JAR-Datei mit einem benutzerdefinierten Manifest erstellen können. Diese Kenntnisse werden Ihnen helfen, Ihre Java-Anwendungen effektiver zu verpacken und zu verteilen.