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 (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 файлове се използват за разгръщане на уеб приложения.