Ich habe eine JAR-Datei wie folgt erstellt:
jar cf Predit.jar *.*
Ich habe diese JAR-Datei durch Doppelklick ausgeführt (es hat nicht funktioniert). Also habe ich es über die DOS-Eingabeaufforderung wie folgt ausgeführt:
java -jar Predit.jar
Es wurden Ausnahmen "Hauptklasse konnte nicht geladen werden" ausgelöst. Also habe ich diese JAR-Datei extrahiert:
jar -xf Predit.jar
und ich habe die Klassendatei ausgeführt:
java Predit
Es hat gut funktioniert. Ich weiß nicht, warum die JAR-Datei nicht funktioniert hat. Bitte teilen Sie mir die Schritte zum Ausführen der JAR-Datei mit
quelle
:
verwendet*
wird nicht funktionieren , weil die Shell es so erweitern:"/path/to/jars/a.jar" "/path/to/jars/b.jar"
aber was wollen Sie wirklich:"/path/to/jars/a.jar:/path/to/jars/b.jar"
.Vor dem Ausführen ist die JAR-Prüfung
Main-Class: classname
in der Datei MANIFEST.MF verfügbar oder nicht . MANIFEST.MF ist im Glas vorhanden.quelle
Sie müssen dem JAR ein Manifest hinzufügen, das der Java-Laufzeit mitteilt, was die Hauptklasse ist. Erstellen Sie eine Datei 'Manifest.mf' mit folgendem Inhalt:
Ändern Sie 'your.programs.MainClass' in Ihre eigentliche Hauptklasse. Legen Sie nun die Datei in die Jar-Datei in einem Unterordner namens 'META-INF'. Sie können dafür jedes ZIP-Dienstprogramm verwenden.
quelle
Ein sehr einfacher Ansatz zum Erstellen einer .class-, .jar-Datei.
JAR-Datei ausführen. Sie müssen sich nicht zu viele Gedanken über die Manifestdatei machen. Machen Sie es einfach und elegant.
Java-Beispiel Hello World-Programm
Kompilieren der Klassendatei
JAR-Datei erstellen
oder
Ausführen der JAR-Datei
Oder
quelle
jar
Option 'e
können Sie denMain-Class
( Einstiegspunkt ) angeben und eine entsprechende Manifestdatei für Sie erstellen. Siehe die offizielle Dokumentation für jar .Wenn Sie kein Manifest erstellen möchten, nur um die JAR-Datei auszuführen, können Sie beim Ausführen der JAR-Datei direkt über die Befehlszeile auf die Hauptklasse verweisen.
Dadurch wird festgelegt, welche Hauptklasse in der JAR-Datei ausgeführt werden soll.
quelle
-classpath
kommt gleich danachjava
und loswerden-jar
(dh diese Antwort ist falsch)Java
manifest.mf
In der Befehlszeile:
Ausgabe:
quelle
Wenn Sie sich nicht mit diesen Details befassen möchten, können Sie auch die Export-JAR-Assistenten von Eclipse oder NetBeans verwenden.
quelle
Eclipse Runnable JAR-Datei
Erstellen Sie ein Java-Projekt -
RunnableJAR
Hauptklasse
Führen Sie die Jar- Datei mit dem Java-Programm ( cmd ) aus, indem Sie Argumente angeben, und rufen Sie die Ausgabe und Anzeige in der Eclipse-Konsole ab.
In Eclipse finden Sie Verknüpfungen :
Hilfe ► Hilfeinhalt ► Java-Entwicklungsbenutzerhandbuch ► Referenzen ► Menüs und Aktionen
quelle
Ich habe diese Ordnerstruktur:
Main.class
ist im Paketcom.lynda.olivepress
Es gibt zwei weitere Pakete:
1) Erstellen Sie eine Datei mit dem Namen
"Manifest.txt"
Zwei Zeilen, Erste mit Hauptklasse und Zweite Leere Zeile.D: \ JavaProjects \ OlivePressApp \
Manifest.txt
2) Erstellen Sie eine JAR mit Manifest und Einstiegspunkt der Hauptklasse
D: \ JavaProjects \ OlivePressApp>
jar cfm OlivePressApp.jar Manifest.txt com/lynda/olivepress/Main.class com/lynda/olivepress/*
3) Führen Sie JAR aus
java -jar OlivePressApp.jar
Hinweis:
com/lynda/olivepress/*
bedeutet, dass die beiden anderen oben genannten Pakete vor Punkt 1 eingeschlossen werden.quelle
Um jar auszuführen, müssen Sie zuerst erstellen
dann
Befehl wird funktionieren
quelle