Різниця між JAR та WAR

JAR vs WAR

JAR і WAR - це два типи файлових архівів. Більш правильно, файл WAR - це також файл JAR, але вони використовуються для різних цілей. Файли JAR - це як відомі ZIP-файли. Вони можуть бути використані для будь-якого архівування загального призначення, але найпопулярніше використання файлів JAR - це використання їх як контейнерів для файлів класу Java та файлів ресурсів, що складають Java-додаток. Файли WAR використовуються спеціально для розгортання веб-додатків.

Що таке JAR?

JAR (Java ARchive) - це файловий архів, який містить багато інших файлів. Файли JAR зазвичай розробники Java використовують для розповсюдження програм Java або бібліотек Java, використовуючи файли JAR як контейнери для файлів класу Java та відповідних файлів ресурсів (тобто тексту, аудіо, відео тощо). Добре відомий формат архівування файлів ZIP - це основа, на якій будується файл JAR. Користувачі можуть використовувати команду jar JDK (Java Development Kit) або звичайне програмне забезпечення ZIP для вилучення вмісту файлів JAR. Файли JAR - це дуже зручний спосіб завантаження всієї веб-програми в один файл, без необхідності завантажувати всі файли, що складають веб-додаток окремо. Для читання / запису файлів JAR розробники Java використовують класи, що містяться в пакеті java.util.zip. Якщо файл JAR повинен бути виконаний як окремий додаток, то один із класів буде вказаний як "основний" клас у записах файлу маніфесту. Виконані файли JAR можна запустити за допомогою команди java з атрибутом jar (тобто java -jar foo.jar).

Що таке ВІЙНА?

WAR (Web Application aRchive) - файл JAR, який використовується як контейнер для групи файлів ресурсів веб-додатків (які складають веб-додаток), таких як JSP (Java Server Pages), сервлетів, файлів класів, XML-файлів та веб (HTML) ) сторінок. Файли WAR ідентифікуються за їх розширенням .war. Вони були розроблені компанією Sun Microsystems (оригінальні розробники мови програмування Java). Цифрові підписи, які використовуються у файлах JAR (для доручення коду), можна використовувати і у файлах WAR.

Файл WAR внутрішньо організований в ієрархію спеціальних каталогів. Структура веб-програми, що міститься у файлі WAR, визначена у файлі web.xml (який знаходиться всередині каталогу / WEB-INF). Web.xml також описує, яка URL-адреса пов'язана з яким сервлетом. Вони також визначають змінні, доступні всередині серлета і залежності, які необхідно встановити. Однак якщо файл WAR містить лише файли JSP, то файл web.xml необов'язковий.

Чим відрізняється JAR від WAR?

Файли JAR мають розширення .jar, а файли WAR - .war. Але файл WAR - це специфічний тип файлу JAR. Файли JAR містять файли класів, бібліотеки, ресурси та файли властивостей. Файли WAR містять сервлети, сторінки JSP, сторінки HTML, кодування JavaScript. Файли JAR використовуються для архівування цілої програми Java (настільних), тоді як файли WAR використовуються для розгортання веб-додатків.