Often times, this error is causing by the mismatch order between “m” and “f” Jar options.

For example,

jar -cvfm manifest.txt example.jar com/mkyong/awt/*.class

The above command will causing the following error :

java.io.IOException: invalid header field
	at java.util.jar.Attributes.read(Attributes.java:406)
	at java.util.jar.Manifest.read(Manifest.java:199)
	at java.util.jar.Manifest.<init>(Manifest.java:69)
	at sun.tools.jar.Main.run(Main.java:150)
	at sun.tools.jar.Main.main(Main.java:1044)

Did you spot the error? The “m” and “manifest” is not match, the system is consider your manifest file as “example.jar” :)

The letters “m” and “f” must appear in the same order that “manifest” and “jarfile” appear.

The working command should be

jar -cvmf manifest.txt example.jar com/mkyong/awt/*.class

Please read this article about the correct way to add manifest into your Jar file.

Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world\'s largest enterprise software company.
Publisher : Oracle Corporation