"Invalid or corrupt jarfile" java -jar manifest file
Problem:
Packaging up a class with a main method into a jar-file using ant gives the following error when you try to run it with the
java -jar [jarfile]
command: "Invalid or corrupt jarfile".Solution:
Using the ant task to create the manifest file on-the-fly gives you and entry like:
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.2 Created-By: 1.4.2_07-b05 (Sun Microsystems Inc.) Main-Class: com.example.MyMainClass
Creating the manifest file myself, with the bare essentials fixes the issue:
Manifest-Version: 1.0 Main-Class: com.example.MyMainClass
With more investigation I'm sure I could have got the dynamic meta-file creation working with Ant as I know other people do - there must be some peculiarity in the combination of my ant version (1.6.2), java version (1.4.2_07) and perhaps the current phase of the moon.
Notes:
Parsing of the Meta-inf file has been an issue that has come-up, been fixed and then come-up again for sun. See: Bug Id: 4991229. If you can work out if this bug exists in the your (or my) version of the Java SE you have more patience that me.
1 comment:
NICE! Old, but save my day!
Post a Comment