Ich habe auf diese Weise eine JAR-Datei erstellt jar cf jar-file input-files
. Jetzt versuche ich es auszuführen. Das Ausführen funktioniert nicht (Befehl jre wurde nicht gefunden):
jre -cp app.jar MainClass
Dies funktioniert auch nicht:
java -jar main.jar
(Fehler beim Laden des Manifestattributs der Hauptklasse aus main.jar).
Das habe ich auch herausgefunden
Um eine als JAR-Datei gepackte Anwendung auszuführen (Version 1.2 - erfordert den Manifest-Header der Hauptklasse)
Was ist der "Manifest-Header der Hauptklasse"? Wie erstelle ich es und wo lege ich es ab?
Main-Class: MainClass
und dann die JAR-Datei mit dem von Ihnen angegebenen Befehl erstellt. Danach konnte ich mein Programm durchlaufenjava -jar main.jar
.jar cfe app.jar MainClass *.class
Hinweis: -e wurde in JDK 6 hinzugefügt.Legen Sie den Klassenpfad fest und kompilieren Sie
create manifest.txt
Erstellen Sie Ihre App.jar
Führen Sie yourApp.jar aus
quelle
Sie können laufen mit:
Es funktioniert für mich, wenn die JAR-Datei kein Manifest enthält.
quelle
Ich habe diesen Fehler erhalten, weil ich die Argumente in der falschen Reihenfolge hatte:
RICHTIG
FALSCH
quelle
Der einfachste Weg, um sicherzustellen, dass Sie die ausführbare JAR-Datei mit der entsprechenden Manifestdatei korrekt erstellt haben, besteht darin, sie mit Eclipse für Sie zu erstellen. In Ihrem Eclipse-Projekt wählen Sie einfach Datei / Exportieren aus dem Menü und folgen den Anweisungen.
Auf diese Weise können Sie sicher sein, dass Ihre JAR-Datei korrekt ist und wissen, wo Sie suchen müssen, wenn immer noch ein Problem vorliegt. Der Vorgang wird ausführlich in den FAQ beschrieben. Wie erstelle ich eine ausführbare JAR-Datei für ein eigenständiges SWT-Programm? .
quelle
Export
in Eclipse IDE.Ich habe festgestellt, dass ich diesen Fehler auch in NetBeans hatte. Ich hoffe das Folgende ist hilfreich.
Dies war das Problem, das ich bekam, weil ich andere "Test" -Programme hatte, die ich in NetBeans verwendete, und ich musste sicherstellen, dass die Hauptklasse unter dem Abschnitt "Ausführen" der Projektkonfiguration korrekt eingestellt war.
viele Segnungen, John P.
quelle
Beim Ausführen wurde der gleiche Fehler angezeigt :
jar cvfm test.jar Test.class Manifest.txt
Was es löste, war folgendes:
jar cvfm test.jar Manifest.txt Test.class
Mein Manifest hat den in Oracle-Dokumenten angegebenen Einstiegspunkt (stellen Sie sicher, dass am Ende der Datei ein neues Zeilenzeichen steht):
Hauptklasse: Test
quelle
Versuchen
Keine
manifest
Datei erforderlich .quelle
Ich hatte das gleiche Problem. Dieser Unix-Befehl kann die Hauptklasse nicht finden. Dies liegt daran, dass die JDK-Versionen zur Laufzeit und zur Kompilierungszeit unterschiedlich sind. Machen Sie das Glas durch Eclipse, nachdem Sie die Java-Compiler-Version geändert haben. Der folgende Link hat mir geholfen.
http://crunchify.com/exception-in-thread-main-java-lang-unsupportedclassversionerror-comcrunchifymain-unsupported-major-minor-version-51-0/
Versuchen Sie, das nach diesem Schritt erstellte Glas auszuführen, und führen Sie es dann aus
quelle
Wenn Ihr Klassenpfad im Manifest vollständig angegeben ist, benötigen Sie möglicherweise die letzte Version der Java-Laufzeitumgebung. Mein Problem wurde behoben, als ich das jre 8 neu installierte.
quelle
Wenn Sie Eclipse verwenden, versuchen Sie Folgendes: 1. Klicken Sie mit der rechten Maustaste auf das Projekt -> wählen Sie Exportieren. 2. Wählen Sie Runnable Jar-Datei aus, um ein Exportziel auszuwählen. 3. Geben Sie den Namen des Jars ein und wählen Sie "Paket erforderlich ..." (zweites Optionsfeld). -> Fertig stellen
Hoffe das hilft...!
quelle