Иллюстрированный самоучитель по 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.