Рубрики
Без рубрики

Как добавить манифест в файл Jar

– Как добавить манифест в файл Jar

В Java вы можете использовать файл манифеста для определения точки входа приложения, добавив путь к классу или версию пакета для файла JAR. В этом кратком руководстве мы покажем вам, как добавить пользовательский файл манифеста в файл Jar.

1. Структура проекта

Предположим, что это структура папок вашего проекта

/workspace/test/classes/com/mkyong/awt/AwtExample.class
/workspace/test/classes/manifest.txt

2. Встряхните Его

Используйте приведенную ниже команду, чтобы создать файл Jar и добавить свой собственный файл манифеста (manifest.txt ) в него.

jar -cvfm example.jar manifest.txt com/mkyong/awt/*.class

Выход

$ jar -cvfm example.jar manifest.txt com/mkyong/awt/*.class
added manifest
adding: com/mkyong/awt/AwtExample$1.class(in = 638) (out= 388)(deflated 39%)
adding: com/mkyong/awt/AwtExample.class(in = 879) (out= 540)(deflated 38%)
mkyong@laptop:~/workspace/JavaTips/bin$ 

3. Сделано

Новый”example.jar “файл jar с пользовательским файлом манифеста.

$ jar tf example.jar 
META-INF/
META-INF/MANIFEST.MF
com/mkyong/awt/AwtExample$1.class
com/mkyong/awt/AwtExample.class
mkyong@laptop:~/workspace/JavaTips/bin$ 

Объяснение

опция “m” означает включить ваш пользовательский файл манифеста. Вы всегда должны быть осторожны с порядком параметров, буквы ” m ” и ” f ” должны отображаться в том же порядке, что и ” манифест ” и ” jarfile “.

Например, Правильное утверждение “fm” должно совпадать с “example.jar manifest.txt “

 jar -cvfm example.jar manifest.txt com/mkyong/awt/*.class

“mf” должно совпадать с “manifest.txt example.jar “

 jar -cvmf manifest.txt example.jar com/mkyong/awt/*.class

Неверное утверждение

 
jar -cvfm manifest.txt example.jar com/mkyong/awt/*.class

Это не сработает, система обрабатывает ваш файл манифеста следующим образом”example.jar “, и вызывает ошибку “недопустимое поле заголовка”.

Ссылка

  1. Справочное руководство по файлам манифеста

Оригинал: “https://mkyong.com/java/how-to-add-your-manifest-into-a-jar-file/”