Geo
Geo

Reputation: 96767

Why is jar ignoring my manifest?

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.

Upvotes: 9

Views: 5759

Answers (3)

Chandra Sekar
Chandra Sekar

Reputation: 10843

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.

Upvotes: 2

axtavt
axtavt

Reputation: 242686

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

Upvotes: 16

hi.
hi.

Reputation: 1

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.

Upvotes: 0

Related Questions