Website-Suche

So erstellen und führen Sie eine .Jar-Datei im Linux-Terminal aus


Ein JAR (Java ARchive) ist ein plattformunabhängiges Dateiformat, mit dem viele Java-Klassendateien und zugehörige Metadaten und Ressourcen wie Text, Bilder usw. in einer einzigen Datei zusammengefasst werden zur Verteilung.

Es ermöglicht Java-Laufzeiten die effiziente Bereitstellung einer gesamten Anwendung in einer Archivdatei und bietet viele Vorteile wie Sicherheit, die Komprimierung seiner Elemente, kürzere Downloadzeiten, die Versiegelung und Versionierung von Paketen sowie die Unterstützung der Portabilität. Es unterstützt auch das Packen von Erweiterungen.

In diesem Artikel zeigen wir, wie man eine einfache Java-Anwendung erstellt und in eine JAR-Datei bündelt, und zeigen, wie man eine .jar-Datei vom Linux-Terminal aus ausführt.

Dazu müssen Sie das Java-Befehlszeilentool installiert haben, um eine Java-Anwendung zu starten, und das Flag -jar, um ein in einer JAR-Datei gekapseltes Programm auszuführen. Wenn dieses Flag verwendet wird, ist die angegebene JAR-Datei die Quelle aller Benutzerklassen und andere Klassenpfadeinstellungen werden ignoriert.

So erstellen Sie eine JAR-Datei unter Linux

1. Schreiben Sie zunächst zu Demonstrationszwecken eine einfache Java-Klasse mit einer Hauptmethode für eine Anwendung namens TecmintApp.

vim TecmintApp.java

Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei TecmintApp.java ein.

public class TecmintApp {
	public static void main(String[] args){
		System.out.println(" Just executed TecmintApp! ");
	}
}

Speichern Sie die Datei und schließen Sie sie.

2. Als nächstes müssen wir die Klasse mit den Dienstprogrammen javac und jar kompilieren und in eine JAR-Datei packen wie gezeigt.

javac -d . TecmintApp.java
ls
jar cvf tecmintapp.jar TecmintApp.class
ls

3. Sobald tecmintapp.jar erstellt wurde, können Sie die Datei nun wie gezeigt mit dem Java-Befehl ausführen.

java -jar tecmintapp.jar

no main manifest attribute, in tecmintapp.jar

Bei der Ausgabe des obigen Befehls ist ein Fehler aufgetreten. Die JVM (Java Virtual Machine) konnte unser Haupt-Manifestattribut nicht finden, daher konnte sie die Hauptklasse mit der Hauptmethode nicht finden ( public static void main (String[] args)).

Die JAR-Datei sollte ein Manifest haben, das eine Zeile in der Form Main-Class:classname enthält, die die Klasse mit der Hauptmethode definiert, die als Ausgangspunkt unserer Anwendung dient.

4. Um den oben genannten Fehler zu beheben, müssen wir die JAR-Datei so aktualisieren, dass sie zusammen mit unserem Code ein Manifestattribut enthält. Lassen Sie uns eine MANIFEST.MF-Datei erstellen.

vim MANIFEST.MF

Kopieren Sie die folgende Zeile und fügen Sie sie in die Datei MANIFEST.MF ein.

Main-Class:  TecmintApp

Speichern Sie die Datei und fügen Sie die Datei MANIFEST.MF mit dem folgenden Befehl zu unserer tecmintapp.jar hinzu.

jar cvmf MANIFEST.MF tecmintapp.jar TecmintApp.class

5. Wenn wir schließlich die JAR-Datei erneut ausführen, sollte sie das erwartete Ergebnis liefern, wie in der Ausgabe gezeigt.

java -jar tecmintapp.jar

Just executed TecmintApp!

Weitere Informationen finden Sie in den Manpages zu den Befehlen java, javac und jar.

man java
man javac
man jar

Das ist alles! In diesem kurzen Artikel haben wir erklärt, wie man eine einfache Java-Anwendung erstellt und in eine JAR-Datei bündelt, und gezeigt, wie man eine .jar-Datei vom Terminal aus ausführt. Wenn Sie Fragen oder ergänzende Ideen haben, verwenden Sie das unten stehende Feedback-Formular.