2009-01-07 10 views
8

Gdy używam tej linii cmd: słoik CMF arshad.mf ars.jar * .class ja dostać ten błąd:niepoprawny nagłówek pliku podczas korzystania z słoik do archiwizacji

invalid header field name:Manifest-version 

To jest mój plik manifestu:

Manifest-Version: 1.0 
Main-Class:t 

Zrobiłem plik manifestu z notatnika w kodowaniu UTF-8 - czy jest jakiś problem z manifestem?

+0

Hej chłopaki, pamiętajcie, aby upominać to pytanie i odpowiedź, jeśli ci to pomoże! Pytanie powinno mieć więcej niż 1 głos, jeśli ma 5K + wyświetleń! – John

Odpowiedz

17

Dodaj spację po dwukropkami:

Manifest-Version: 1.0 
Main-Class: t 
+0

wow. to było idealne rozwiązanie. bardzo dużo :) – arshad

+0

thxxxxxxxxxxxxx dużo dużo szukałem bez przydatnych wyników !! Napisałem: "Main-Class: MainFram" Po przeczytaniu odpowiedzi napisałem: "Main-Class: MainFram" i zadziałało !!! bardzo dziękuję @Adam Rosenfield –

0

Tak, to prawda.

Powszechnie popełnianym błędem podczas zapisywania plików manifestu dla słoika jest to, że nie umieszczają spacji po swoich dwukropkach. Nie wiem, na podstawie tego, co tu napisałeś, jeśli to prawda czy nie, ale spróbuj.

Przykład:

Main-Class:someClass //wrong 
Main-Class: someClass //correct 
0

Również Twój manifest plik musi być zapisany jako UTF-8. Niekoniecznie zapisujesz go w Notatniku MS i zapisujesz jako kodowanie UTF-8. Ten post ma kilka dobrych dane:

Invalid Header Field Name when adding manifest to JAR using Eclipse

Notepad dodaje kilka bajtów na froncie na nadawanie endian-ności danych. Spowoduje to przerwanie polecenia jar. Przyzwoite rozwiązanie polega na tym, aby nie używać Notatnika i pobierać Notepad ++. W Notepad ++ wybierasz "kodowanie" z górnego paska i wybierasz "UTF-8 bez LM". Zapisanie pliku manifestu za pomocą tego ustawienia powinno rozwiązać problem. Jeśli nie ma innych.

Powiązane problemy