tags:

views:

168

answers:

3

I tried to create an executable jar using this command:

jar -cvfm h.jar Manifest.mf Whatever1.class Whatever2.class

The manifest contains this:

Main-Class: Whatever1

But if I try to run the jar, I get: Failed to load Main-Class manifest attribute from my.jar. I extracted the jar, and I saw that the contents of it's manifest were this:

Manifest-Version: 1.0
Created-By: 1.6.0_18 (Sun Microsystems Inc.)

Why was my manifest ignored?

EDIT: I know that using the -e flag I can specify an entry point, and jar will generate a correct manifest, but I'd like to know how to make this version work.

A: 

I suppose you have to run jar like:

jar -cvf h.jar -m Manifest.mf Whatever1.class Whatever2.class

Because values for options come directly after the option itself.

hi
This says: `-m : no such file or directory`.
Geo
+1  A: 

Add a line break after the last line of Manifest.mf

axtavt
Is this a feature? LOL!
Geo
+1  A: 

I've noticed that not having a newline at the end of the manifest file causes this problem at times. See if adding a new line at the end of the manifest file helps.

Chandru