Урок 2

JAR-Файлы


Для удобства распространения приложения, в Java существует такой механизм как JAR (Java Archive) файлы. JAR-файлы используются для архивации и сжатия данных.

Базовый формат команды для создания JAR-файла такой:

jar -cf jar-файл входной-файл(ы)

Сгерированный JAR-файл будет помещен в текущий каталог.

Рассмотрим ключи и аргументы, использованные в этой команде:

  • Ключ c показывает, что необходимо создать (create) JAR-файл.
  • Ключ f показывает, что необходимо направить вывод в файл, а не в стандартный поток вывода.
  • jar-файл - это имя, которое необходимо дать результирующему JAR-файлу. Вы можете использовать любое имя для JAR-файл. По соглашению, имени JAR-файла дается расширение .jar, хотя это и не обязательно.
  • Аргумент входной-файл(ы) - список с разделителем-пробелом из одного или более файлов, которые вы хотите поместить в ваш JAR-файл. Аргумент входной-файл(ы) может содержать также символ-джокер *. Если любые из "входных-файлов" являются каталогами, содержимое этих каталогов рекурсивно добавляется в архив JAR.

Правила относительно структуры JAR-файла.

  • Команда jar автоматически создаст META-INF каталог.
  • Команда jar автоматически создаст MANIFEST.MF и поместит его в META-INF каталог.
  • Сохраняется точная структура каталогов.
  • Команды java и javac могут использовать JAR-файл как нормальное дерево каталогов.
  • Поиск JAR-файлов с помощью ключа -cp аналогичен поиску пакетных файлов. Единственная разница - путь к JAR-файлу должен содержать имя JAR-файла (например classes/project1.jar).

Рассмотрим на примере как создаются и используются JAR файлы.

Допустим, что наше приложение имеет следующую структуру каталогов:

Структура каталогов

Создадим JAR-файл project1.jar, который будет содержать пакеты p1 и p2:

cd project1/classes
jar –cf project1.jar p1 p2

Можем просмотреть содержимое project1.jar файла с помощью следующей команды:

jar -tf project1.jar

Результат выполнения будет приблизительно такой:

META-INF/
META-INF/MANIFEST.MF
p1/
p1/Example1.class
p2/
p2/Example2.class

 Перенесем созданный project1.jar файл в каталог lib и запустим на выполнение программу p1.Example:

cd lib
java -cp project1.jar p1.Example1

   

Ресурсы:

1. SCJP Sun Certified Programmer for Java 6 Exam 310-065 - 10. Development 

2. Создание JAR-файла



0 comments
Leave your comment: