ungültige Header-Datei während jar für die Archivierung verwendet
Frage
Wenn ich diese cmd Zeile verwenden: jar cmf arshad.mf ars.jar * .class Ich bekomme diese Fehlermeldung:
invalid header field name:Manifest-version
Das ist meine Manifest-Datei:
Manifest-Version: 1.0
Main-Class:t
Ich habe die Manifest-Datei mit Notepad in UTF-8-Codierung - gibt es irgendein Problem mit dem Manifest
?Lösung
Fügen Sie ein Leerzeichen nach dem Doppelpunkt:
Manifest-Version: 1.0
Main-Class: t
Andere Tipps
Ja, es ist wahr.
Ein häufiger Fehler Leute machen, wenn ihr Manifest-Dateien für Glas des Schreibens ist, dass sie darf kein Leerzeichen nach dem Doppelpunkt. Ich weiß nicht, auf das, was Sie hier schreiben, wenn, dass es oder nicht, aber probieren Sie es aus.
Beispiel:
Main-Class:someClass //wrong
Main-Class: someClass //correct
Auch Ihre Manifest-Datei muss als UTF-8 gespeichert werden. Sie sind nicht unbedingt sicher auf MS Notepad Schreiben und Speichern als UTF-8-Codierung. Dieser Beitrag hat einige gute Details:
ungültige Header-Feldnamen beim Hinzufügen manifest JAR mit Eclipse
Notepad fügt einige Bytes auf der Vorderseite die Bytereihenfolge der Daten zu übertragen. Dadurch wird der Befehl jar brechen. Eine anständige Lösung ist nicht Notepad verwenden und herunterladen Notepad ++. In Notepad ++ Sie 'encoding' aus der oberen Leiste, und wählen Sie 'UTF-8 ohne BOM'. Speichern der Manifest-Datei mit dieser Einstellung angewendet sollte das Problem lösen. Wenn es keine andere.