JAR против 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 (архив веб-приложений) - это файл JAR, используемый в качестве контейнера для группы файлов ресурсов веб-приложения (составляющих веб-приложение), таких как JSP (серверные страницы Java), сервлеты, файлы классов, файлы 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 используются для развертывания веб-приложений.