Im Haupttext möchte ich von der Erstellung der JAR-Datei bis zu ihrer Verwendung für Anfänger (für mich selbst) zusammenfassen.
Eine JAR-Datei ist eine Sammlung mehrerer Java-Klassen und -Pakete in einer einzigen Datei.
Eine gute Möglichkeit, dies zu erstellen, ist die Verwendung des Befehls jar
. Der Befehl jar
kann verwendet werden, wenn das JDK auf dem PC installiert ist.
Erstellen Sie eine JAR-Datei unter den folgenden Bedingungen.
・ Maschine: MacBook Air 2017
・ Betriebssystem: macOS High Sierra(10.13.3)
· Java-Version: 9.0.4
JAR-Dateien sind ursprünglich nützlich, um mehrere Java-Klassen und -Pakete in einer Datei zu kombinieren. Der Einfachheit halber werden wir diesmal jedoch nur ein Paket und eine Klasse behandeln.
Erstellen Sie zunächst die in diesem Beispiel verwendete Test.java
in ~ / Documents / test /
.
Ich habe test /
selbst erstellt.
Das Folgende ist der Inhalt der erstellten Klasse.
Test.java
package test;
public class Test {
public static void main(String args[]){
System.out.println("Hello World!");
}
}
Die JAR-Datei verwendet die .class
-Datei anstelle der .java
-Datei, daher müssen Sie sie mit dem Befehl javac
kompilieren.
test username$ javac Test.java
Da dieses Mal das Paket angegeben ist, sollte der folgende Befehl im Verzeichnis "Dokumente /" anstelle des Verzeichnisses "test /" verwendet werden, um dieses Programm mit dem Befehl "Java" auszuführen und das Ergebnis zu überprüfen. Du musst tun.
Documents username$ java test.Test
Hello World!
Sie haben jetzt eine Test
Klasse in ~ / Documents / test /
erstellt.
Erstellen Sie dann eine JAR-Datei mit dem Befehl jar
.
Der Befehl jar
wird in dieser Site einschließlich der Optionen ausführlich beschrieben. ..
Jetzt erstellen wir eine JAR-Datei mit dem folgenden Befehl jar
.
Documnets username$ jar cvf Test.jar test/
Als Aufschlüsselung der Optionen
・ C: Erstellen Sie eine neue JAR-Datei ・ V: Geben Sie detaillierte Informationen auf dem Bildschirm aus ・ F: Geben Sie den Namen der JAR-Datei an
ist.
Mit anderen Worten
Documnets username$ jar cvf [Der Name der neu erstellten JAR-Datei] [Java, das Sie in Ihre JAR-Datei aufnehmen möchten
Verzeichnis mit Programmen]
Es ist genauso wie das. Wenn Sie den folgenden Befehl ausführen, nachdem Sie diesen Befehl ausgeführt haben, sollte ein Ergebnis wie dieses angezeigt werden.
Documents username$ jar tvf Test.jar
0 Wed Jan 31 16:20:16 JST 2018 META-INF/
88 Wed Jan 31 16:22:12 JST 2018 META-INF/MANIFEST.MF
0 Wed Jan 31 15:06:50 JST 2018 test/
419 Wed Jan 31 16:06:06 JST 2018 test/Test.class
122 Wed Jan 31 15:06:50 JST 2018 test/Test.java
Die JAR-Datei wird jetzt erstellt.
Lassen Sie uns die JAR-Datei sofort mit dem Befehl java -jar
ausführen.
Dann
Documents username$ java -jar Test.jar
Test.jar hat kein Hauptmanifestattribut
Sie sollten ein solches Ergebnis erhalten.
Dies liegt daran, dass die Main-Methode, die bei Ausführung mit java -jar
aufgerufen wird, nicht festlegt, welche Klasse die Main-Methode ist.
Sie müssen das Hauptmanifestattribut zu MANIFEST.MF
hinzufügen, um dies zu verhindern.
Erstellen Sie als zusätzliche Methode eine Manifestdatei mit dem Namen ".mani" in dem Verzeichnis, in dem sich die JAR-Datei befindet, und schreiben Sie dann den folgenden Inhalt in diese Datei.
Main-Class: test.Test
Beschreiben Sie als Aufschlüsselung den Klassennamen, der die Main-Methode enthält, die Sie nach dem Paket aufrufen möchten, zu dem Test.class
gehört.
Dieses Mal habe ich package test;
in Test.java
geschrieben, also ist test
das Paket, zu dem Test.class
gehört.
Führen Sie den folgenden Befehl aus, nachdem Sie die Manifestdatei auf diese Weise erstellt haben
Documents username$ jar uvfm Test.jar Test.mani
Das Hauptmanifestattribut wird jetzt in MANIFEST.MF
hinzugefügt.
Wenn Sie den Inhalt von MANIFEST.MF
überprüfen, ist dies wie folgt.
Manifest-Version: 1.0
Created-By: 9.0.4 (Oracle Corporation)
Main-Class: test.Test
Zu diesem Zeitpunkt sollten Sie in der Lage sein, die JAR-Datei mit dem Befehl java -jar
auszuführen.
Documents username$ java -jar Test.jar
Hello World!
Die Ausführung ist möglicherweise nicht möglich, ohne den Klassenpfad anzugeben.
Fügen Sie in einem solchen Fall die folgende Anweisung zu ~ / .profile
hinzu (erstellen Sie sie, wenn sie nicht vorhanden ist).
export CLASS_PATH=/Users/username/Documents/Test.jar
Das Obige sind die Grundlagen von JAR-Dateien. Ich bin noch ein Anfänger, also zögern Sie bitte nicht, auf den Text in den Kommentaren hinzuweisen!
Recommended Posts