Question

When i use this cmd line : jar cmf arshad.mf ars.jar *.class i get this error :

invalid header field name:Manifest-version

This is my manifest file :

Manifest-Version: 1.0
Main-Class:t

i made the manifest file with notepad in UTF-8 encoding - is there any problem with the manifest ?

Was it helpful?

Solution

Add a space after the colons:

Manifest-Version: 1.0
Main-Class: t

OTHER TIPS

Yes,it is true.

A common mistake people make when writing their manifest files for jar's is that they don't put spaces after their colons. I don't know, based on what you wrote here, if that's it or not but give it a try.

Example:

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

Also, your manifest file must be saved as UTF-8. You're not necessarily safe writing it on MS Notepad and saving as UTF-8 encoding. This post has some good details:

Invalid Header Field Name when adding manifest to JAR using Eclipse

Notepad adds some bytes onto the front to broadcast the endian-ness of the data. This will break the jar command. A decent solution is to not use Notepad and download Notepad++. In Notepad++ you select 'encoding' from the top bar, and select 'UTF-8 Without BOM'. Saving your manifest file with this setting applied should solve the problem. If there are no others.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top