fichier d'en-tête non valide lors de l'utilisation de jar pour l'archivage

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

  •  03-07-2019
  •  | 
  •  

Question

Quand j'utilise cette ligne de commande: jar cmf arshad.mf ars.jar * .class je reçois cette erreur:

invalid header field name:Manifest-version

Ceci est mon fichier manifeste:

Manifest-Version: 1.0
Main-Class:t

J'ai créé le fichier manifeste avec le bloc-notes au format UTF-8. Le manifeste a-t-il un problème?

Était-ce utile?

La solution

Ajouter un espace après les deux points:

Manifest-Version: 1.0
Main-Class: t

Autres conseils

Oui, c'est vrai.

Une erreur courante que les gens commettent lors de l'écriture de leurs fichiers manifeste pour les fichiers jar est de ne pas mettre d'espaces après leurs deux points. Je ne sais pas, sur la base de ce que vous avez écrit ici, si c'est ça ou pas, mais essayez-le.

Exemple:

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

De plus, votre fichier manifeste doit être enregistré au format UTF-8. Vous n'êtes pas nécessairement sûr de l'écrire sur MS Notepad et de l'enregistrer au format UTF-8. Cet article a quelques bons détails:

Nom de champ d'en-tête non valide lors de l'ajout d'un manifeste JAR à l'aide d'Eclipse

Le Bloc-notes ajoute quelques octets au premier plan pour diffuser l’endurance des données. Cela cassera la commande jar. Une solution décente consiste à ne pas utiliser Notepad et à télécharger Notepad ++. Dans Notepad ++, sélectionnez "Encodage" dans la barre supérieure, puis "UTF-8 sans nomenclature". L'enregistrement de votre fichier manifeste avec ce paramètre devrait résoudre le problème. S'il n'y en a pas d'autres.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top