Примеры Java Archive Tool (JAR)

Примеры Java Archive Tool (JAR)

Вот структура проекта.

/workspace/test/classes/com/example/awt/AwtExample.class
/workspace/test/classes/com/example/awt/AwtExample2.class
/workspace/test/classes/com/example/awt/AwtExample3.class
/workspace/test/classes/manifest.txt

P.S Assume you are in “/workspace/test/classes/

1. Создать файл JAR

-c создать новый архив
-v генерировать подробный вывод в стандартном выводе
-f указать имя файла архива

1.1 Create a Jar file which include AwtExample.class only.

jar -cvf test.jar com/example/awt/AwtExample.class

1.2 Create a Jar file which include AwtExample.class and AwtExample1.class.

jar -cvf test.jar com/example/awt/AwtExample.class com/example/awt/AwtExample1.class

1.3 Create a Jar file which include the all classes

jar -cvf test.jar com/example/awt/*.class

2. Обновить файл JAR

-u обновить существующий архив

2.1 Update test.jar by adding a new class AwtExample3.class

jar -uvf test.jar com/example/awt/AwtExample3.class

3. Извлеките файл фляги

-x извлечь из архива названный (или весь) файл
s

3.1 Extract all files from test.jar to current location.

jar -xvf test.jar

3.2 Extract only AwtExample.class.

jar -xvf test.jar com/example/awt/AwtExample.class

3.3 Extract all files from “com” folder only.

jar -xvf test.jar com

3.4 Extract all files to another folder. Oppss..jar не имеет возможности напрямую извлекать файлы в другую папку. Лучшее меняется на предпочитаемую вами папку и извлекайте ее оттуда.

mkdir newdir
cd newdir
jar -xvf /workspace/test/classes/test.jar

4. Список файлов из файла JAR

-t список оглавления для архива

4.1 List all files.

jar -tf test.jar

5. Добавить манифест в файл jar

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

-m включить информацию манифеста из указанного файла манифеста

Обычный вариант использования - создание исполняемого файла Java или исполняемого файла JAR.

5.1 Add “Main-Class” and entry point in your manifest file

Main-Class: com.example.awt.AwtExample

Джар их всех

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