2014-01-20 13 views
8
jar cvef Main.jar Main * 

added manifest 
adding: DrawPane.class(in = 344) (out= 257)(deflated 25%) 
adding: DrawPane.java(in = 306) (out= 175)(deflated 42%) 
adding: main(in = 9038) (out= 8275)(deflated 8%) 
adding: Main.class(in = 868) (out= 544)(deflated 37%) 
adding: Main.java(in = 507) (out= 260)(deflated 48%) 
adding: Manifest.txt(in = 18) (out= 18)(deflated 0%) 
adding: src/(in = 0) (out= 0)(stored 0%) 
adding: src/icon.png(in = 1163) (out= 1168)(deflated 0%) 
adding: src/Thumbs.db(in = 3584) (out= 1038)(deflated 71%) 

jar-Datei erstellt Datei, dann:Java kann nicht ausgeführt werden jar keine Haupt-Manifest Attribut

java -jar Main.jar 

Ich erhalte eine Fehlermeldung:

no main manifest attribute, in Main.jar 

was Ich bin falsch?

+0

mögliche Duplikate von [Kann JAR-Datei nicht ausführen : "kein Hauptmanifestattribut"] (http://stackoverflow.com/questions/9689793/cant-execute-jar-file-no-main-manifest-attribute) –

+0

aber ich mache es alles richtig, kann nicht Warum kann ich das Manifest-Attribut nicht finden? schau dir den ausgang an ... –

+0

das ist kein duplikat, bitte kannst du dir meinen code ansehen und mir einen rat geben was nicht stimmt? weil ich eine Nachricht bekomme, die "manifest" hinzugefügt hat, sie aber immer noch nicht beim Ausführen findet ... –

Antwort

6

Gemäß this tutorial sollte Ihre Manifestdatei den relativen Pfad META-INF/MANIFEST.MF haben. Es sieht nicht so aus, als hättest du dort dein eigenes Manifest hinzugefügt. Der Befehl jar fügt ein Standardmanifest hinzu, daher wird 'Manifest hinzugefügt' angezeigt.

EDIT: Wie pro the next page in the tutorial, die grundlegende Syntax Inhalt der Manifest-Datei hinzuzufügen, ist die folgende:

jar cfm jar-file manifest-addition input-file(s) 

Ich empfehle den ersten Abschnitt des Tutorials zu lesen und ich bin sicher, dass Sie werde das gewünschte Ergebnis bekommen!

+0

Ich habe einen Ordner META-INF/MANIFEST.MF hinzugefügt, ignoriert diese Datei in der Ausgabe und immer noch kein Manifest-Attribut? –

+0

Überprüfen Sie meine aktualisierte Antwort. Dies ist ein Fall von RTM! :) –

0

Stellen Sie sicher, dass Sie nach ":" und nach dem Klassennamen eine Leerstelle schreiben und speichern Sie sie auf diese Weise. jar-Tool Syntax:

jar -cvmf manifest.txt appname.jar ClassName.class 

nach Werkzeug ausgeführt wird, führen JAR-Datei mit

java -jar appname.jar 

Inhalt des manifest.txt Datei

Main-Klasse: (1space) Classname (drücken Sie für neue eingeben Zeile)

Hoffe, es hilft

Verwandte Themen