Що таке jar файл і навіщо він потрібен stack overflow російською

JAR-файл - це Java-архів (J ava AR chive). Це простий архівний файл, стиснутий (іноді з нульовою компресією) за алгоритмом zip.

Він був створений для зручності розповсюдження програм, написаних на Java. Так як звичайна програма містить сотні, тисячі, а іноді і мільйони файлів. Файл може містити:

  • файл маніфесту META-INF / MANIFEST.MF
  • java-файли (вихідний код)
  • class-файли
  • файли, необхідні для роботи програми: картинки, файли з настройками та інше (ресурси)
  • електронні підписи, які дозволяють захистити програму від модифікації

Маніфест - це текстовий файл формату ключ: значення; він містить опис jar-файлу. У ньому можуть бути наступні ключі:

  • Manifest-Version - версія маніфесту
  • Main-Class - ім'я головного класу (повинен містити метод main), такий jar-файл можна запустити як звичайний виконуваний файл
  • Class-Path - дозволяє вказати CLASSPATH. який необхідний для повноцінної роботи програми
  • SHA-Digest - контрольна сума визначеного файлу всередині архіву

Крім jar. також існують інші архіви, пов'язані з Java:

Чи можна обійтися без?

В принципі, можна, все що вам необхідно - це завжди точно копіювати структуру вашої програми. Тобто все клас-файли і файли з ресурсами повинні розташовуватися в правильних директоріях. Мінлива CLASSPATH повинна містити шляху до всіх залежностей. Якщо ці умови дотримані, то ваш додаток буде працювати без упаковки в jar.

P.S. У перекладі з англійської, jar - означає банку. скляний або керамічний циліндричний контейнер з широким горлом, призначений для зберігання їжі (зазвичай). Кава часто зберігають в банках, так що тут гра слів: банку з кавою - банку з java-класами.

Схожі статті