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