Я пытался создать исполняемую банку с помощью этой команды:
jar -cvfm h.jar Manifest.mf Whatever1.class Whatever2.class
Декларация содержит это:
Main-Class: Whatever1
Но если я пытаюсь выполнить банку, я добираюсь: Failed to load Main-Class manifest attribute from my.jar
. Я извлек банку, и я видел, что содержание он является явным, было это:
Manifest-Version: 1.0
Created-By: 1.6.0_18 (Sun Microsystems Inc.)
Почему моя декларация была проигнорирована?
Править: Я знаю то использование -e
флаг я могу указать точку входа и банку, генерирует корректную декларацию, но я хотел бы знать, как заставить эту версию работать.
Добавьте перерыв линии после последней строки Mainest.MF
Я заметил, что не имеет новой строки в конце файла манифеста, вызывает эту проблему во время. Посмотрите, если добавить новую строку в конце файла манифеста.
Полагаю, вам нужно запустить jar типа:
jar -cvf h.jar -m Manifest.mf Whatever1.class Whatever2.class
Потому что значения для опций идут непосредственно после самой опции.