file di intestazione non valido durante l'utilizzo di jar per l'archiviazione

StackOverflow https://stackoverflow.com/questions/419314

  •  03-07-2019
  •  | 
  •  

Domanda

Quando uso questa linea cmd: vaso cmf arshad.mf ars.jar * .class ottengo questo errore:

invalid header field name:Manifest-version

Questo è il mio file manifest:

Manifest-Version: 1.0
Main-Class:t

Ho creato il file manifest con notepad nella codifica UTF-8 - c'è qualche problema con manifest?

È stato utile?

Soluzione

Aggiungi uno spazio dopo i due punti:

Manifest-Version: 1.0
Main-Class: t

Altri suggerimenti

Sì, è vero.

Un errore comune che le persone commettono quando scrivono i loro file manifest per Jar è che non inseriscono spazi dopo i due punti. Non lo so, in base a ciò che hai scritto qui, se è così o no, ma provalo.

Esempio:

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

Inoltre, il file manifest deve essere salvato come UTF-8. Non sei necessariamente sicuro di scriverlo su MS Notepad e salvarlo come codifica UTF-8. Questo post ha alcuni buoni dettagli:

Nome campo intestazione non valido quando si aggiunge manifest su JAR usando Eclipse

Blocco note aggiunge alcuni byte in primo piano per trasmettere l'endianità dei dati. Questo interromperà il comando jar. Una soluzione decente è quella di non utilizzare Notepad e scaricare Notepad ++. In Notepad ++ seleziona "codifica" dalla barra in alto e seleziona "UTF-8 senza distinta componenti". Il salvataggio del file manifest con questa impostazione applicata dovrebbe risolvere il problema. Se non ce ne sono altri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top