Иллюстрированный самоучитель по Java

Создание архива


Jar-архивы создаются с помощью классов пакета java.util.jar или с помощью утилиты командной строки jar.

Правила применения утилиты jar очень похожи на правила применения утилиты tar. Набрав в командной строке слово jar и нажав клавишу <Enter>, вы получите краткое пояснение, показанное на рис. П.1.

В строке

jar {ctxu}[vfmOM] [jar-file] [manifest-file] [-C dir] files...

зашифрованы правила применения утилиты. Фигурные скобки показывают, что после слова jar и пробела надо написать одну из букв с, t, x или и. Эти буквы означают следующие операции:

с (create) — создать новый архив;

t (table of contents) — вывести в стандартный вывод список содержимого архива;

х (extract) — извлечь из архива один или несколько файлов;

u (update) — обновить архив, заменив или добавив один или несколько файлов.

Рис. П.1.

Правила употребления утилиты jar



После буквы, без пробела, можно написать одну или несколько букв, перечисленных в квадратных скобках. Они означают следующее:

v (verbose) — выводить сообщения о процессе работы с архивом в стандартный вывод;

f (file) — записанный далее параметр jar-file показывает имя архивного файла;

m (manifest) — записанный далее параметр manifest-file показывает имя файла описания;

о (нуль) — не сжимать файлы, записывая их в архив; 

м (manifest) — не создавать файл описания;

Параметр -i (index) предписывает создать

в

архиве файл INDEX.LIST. Он используется уже после формирования архивного файла.

После буквенных параметров-файлов через пробел записывается имя архивного файла jar-file, потом, через пробел, имя файла описания manifest-file, затем перечисляются имена файлов, которые надо занести в архив или извлечь из архива. Если это имена каталогов, то операция выполняется рекурсивно со всеми файлами каталога.

Перед первым именем каталога может стоять параметр -с. Конструкция -с dir означает, что на время выполнения утилиты jar текущим каталогом станет каталог dir. ,

Необязательные параметры занесены в квадратные скобки.


Итак, в конце командной строки должно быть записано хотя бы одно имя файла или каталога. Если среди параметров есть буква f, то первый из этих файлов понимается как архивный jar-файл. Если среди параметров находится буква т, то первый файл понимается как файл описания (manifest-file). Если среди параметров присутствуют обе буквы, то имя архивного файла и имя файла описания должны идти в том же порядке, что и буквы f и т.

Если параметр f и имя архивного файла отсутствуют, то архивным файлом будет служить стандартный вывод.





Рис. П.2.


Работа  с утилитой jar

Если параметр m и имя файла описания отсутствуют, то по умолчанию файл MANIFEST.MF, лежащий в каталоге META-INF архивного файла, будет содержать только номер версии.

На рис. П.2 показан процесс создания архива Base.jar в каталоге ch3. Сначала показано содержимое каталога ch3. Затем создается архив, в который включается файл Base.class и все содержимое подкаталога classes. Снова выводится содержимое каталога ch3. В нем появляется файл Base.jar. Потом выводится содержимое архива.

Как видите, в архиве создан каталог META-INF, а в нем файл MANIFEST.MF.


Содержание раздела