When i try to run the following command :
jar cvfm myjar.jar manifest.txt *.class
I get the following exceptions :
java.io.
A stupid mistake to do (which I did) was to do jar cvfm manifest.txt myjar.jar *.class
instead of jar cvfm myjar.jar manifest.txt *.class
Check that your manifest.txt file contains the content in this manner :
Main-Class: <"package-name">.<"Main-class-name">.class <"newline">
Note that newline/carriage-return is necessary for parsing.
Refer to this link http://docs.oracle.com/javase/tutorial/deployment/jar/appman.html
"jar -cvmf" instead of "jar cvfm" should resolve the above error
I solved a similar problem. It's always the first manifest header makes JAR throw an "invalid header" IOException. So I guess it's the BOM of a utf-8 file makes Jar can't understand. Although I think I have read somewhere that saying a manifest file should utf-8 encoded, I saved my mf file to ANSI with Notepad of Windows, and JAR just stopped complaining about the header name.
I'm guessing that there's a problem with your manifest file. Give it a look to see if you've got a typo in the name of a header variable.