Ausführen einer JAR-Datei über die Befehlszeile

Beginner

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

Einführung

In diesem Lab lernst du, wie du eine JAR-Datei in Java unter Ubuntu erstellen und ausführen kannst. JAR ist die Abkürzung für Java Archive. JAR-Dateien enthalten komprimierte Java-Projekt-Dateien, einschließlich der.class-Dateien und anderer Metadaten und Ressourcen, die das Projekt benötigt. Wir werden behandeln, wie eine JAR-Datei erstellt und von der Befehlszeile ausgeführt wird.


Skills Graph

Erstellen einer Test-Java-Datei

In diesem Schritt erstellen Sie eine Java-Datei namens HelloWorld.java im Verzeichnis ~/project. Der Inhalt von HelloWorld.java sollte wie folgt sein:

public class HelloWorld
{
    public static void main(String args[])
    {
        System.out.print("\n\nHello World\n\n");
    }
}

Wir werden diese Datei verwenden, um JAR-Dateien zu erstellen, die wir später im Lab ausführen werden.

Kompilieren der Java-Datei

In diesem Schritt werden Sie die HelloWorld.java-Datei mit dem folgenden javac-Befehl kompilieren:

javac ~/project/HelloWorld.java

Erstellen einer ausführbaren JAR-Datei

In diesem Schritt erstellen Sie eine ausführbare JAR-Datei. Eine ausführbare JAR-Datei enthält eine Manifestdatei, während die nicht-ausführbare JAR-Datei diese nicht enthält. In dieser Manifestdatei steht der Name der Klasse, die ausgeführt werden soll, wenn die JAR-Datei gestartet wird. Unter Ubuntu können Sie eine ausführbare JAR-Datei mit dieser Manifestdatei wie folgt erstellen:

  1. Erstellen Sie in das Verzeichnis ~/project eine Datei namens ManifestFile.txt und fügen Sie Folgendes hinzu:
    Main-Class: HelloWorld
  2. Erstellen Sie die ausführbare JAR-Datei mit dem folgenden Befehl:
    jar -cfm ~/project/HelloWorld.jar ~/project/ManifestFile.txt ~/project/HelloWorld.class
    Die -c-Option wird verwendet, um eine Archivdatei zu erstellen. Die -f-Option wird verwendet, um den Dateinamen anzugeben. Die -m-Option wird verwendet, um den Inhalt der Manifestdatei einzubeziehen.

Erstellen einer nicht ausführbaren JAR-Datei

In diesem Schritt lernst du, wie du eine nicht ausführbare JAR-Datei erstellst. Wir werden die -m-Option weglassen. Du musst nicht den Namen der Manifestdatei an unseren Befehl übergeben. Du kannst eine nicht ausführbare JAR-Datei mit dem folgenden Befehl erstellen:

jar -cf ~/project/HelloWorldNonExec.jar ~/project/HelloWorld.class

Ausführen der ausführbaren JAR-Datei

In diesem Schritt lernst du, wie du die in Schritt 3 erstellte ausführbare JAR-Datei ausführst. Du kannst sie mit dem folgenden Befehl ausführen:

java -jar ~/project/HelloWorld.jar

Die Ausgabe des Befehls wird wie folgt sein:

Hello World

Ausführen der nicht ausführbaren JAR-Datei

In diesem Schritt lernst du, wie du die in Schritt 4 erstellte nicht ausführbare JAR-Datei ausführst. Du kannst sie mit dem folgenden Befehl ausführen:

java -cp ~/project/HelloWorldNonExec.jar HelloWorld

Die Ausgabe des Befehls wird wie folgt sein:

Hello World

Ausführen von JAR-Dateien mit Befehlszeilenargumenten

In diesem Schritt lernst du, wie du Befehlszeilenargumente beim Ausführen einer JAR-Datei übergeben kannst.

  1. Erstellen Sie in das Verzeichnis ~/project eine neue Java-Klasse namens CommandLineArgs.java mit dem folgenden Code:

    public class CommandLineArgs {
        public static void main(String args[]) {
            for (String s : args) {
                System.out.println(s);
            }
        }
    }
  2. Kompilieren Sie CommandLineArgs.java:

    javac ~/project/CommandLineArgs.java
  3. Erstellen Sie eine ausführbare JAR-Datei:

    jar -cfm ~/project/CommandLineArgs.jar ~/project/ManifestFile.txt ~/project/CommandLineArgs.class
  4. Führen Sie den folgenden Befehl aus, um drei Befehlszeilenargumente zu übergeben:

    java -jar ~/project/CommandLineArgs.jar "Welcome " "Back " User

Die Ausgabe des Befehls wird wie folgt sein:

Welcome
Back
User

Zusammenfassung

Herzlichen Glückwunsch! Du hast das Lab "Run Jar File From Command Line" abgeschlossen. Du kannst in LabEx weitere Labs absolvieren, um deine Fähigkeiten zu verbessern.