Проблема при упаковке с использованием банки - PullRequest
0 голосов
/ 24 декабря 2010

Я пытаюсь использовать команду jar, чтобы упаковать кучу файлов классов java и изображений, которые они используют. У меня есть файлы .class в двух папках (пакетах): a и b, и все изображения в папке c. У меня также есть файл manifest.mf в папке META-INF, и внутри manifest.mf я указываю основной класс при запуске файла jar. Я использую следующую команду jar:

jar cvf MyJar.jar a b c META-INF

Но вывод MyJar.jar просто не запускается вообще. Я что-то пропустил? Спасибо!

1 Ответ

1 голос
/ 24 декабря 2010

Кажется, что файлы манифеста должны обрабатываться с помощью специального параметра:

Если у вас есть уже существующий файл манифеста, который вы хотите, чтобы инструмент jar использовал для нового архива jar, вы можете указать его с помощью опции -m:

 % jar cmf myManifestFile myJarFile *.class

Итак, в вашем случае

% jar cvmf META-INF/manifest.mf MyJar.jar a b c META-INF

Если вам больше не нужен META-INF (для других файлов в нем), я бы бросил его, чтобы быть на безопасной стороне.

...