JAR vs WAR
JAR ja WAR on kahte tüüpi failiarhiive. Õigemini öeldes on WAR-fail ka JAR-fail, kuid neid kasutatakse erinevatel eesmärkidel. JAR-failid on nagu tuntud ZIP-failid. Neid saab kasutada mis tahes üldotstarbeliseks arhiveerimiseks, kuid JAR-failide populaarseim kasutamine on nende kasutamine Java-klassi failide ja ressursifailide konteineritena, mis moodustavad Java-rakenduse. WAR-faile kasutatakse spetsiaalselt veebirakenduste juurutamiseks.
Mis on JAR?
JAR (Java ARchive) on failide arhiiv, mis kannab paljusid teisi faile. JAR-faile kasutavad Java-arendajad tavaliselt Java-rakenduste või Java-teekide levitamiseks, kasutades JAR-faile Java-klassi failide ja vastavate ressursifailide (st teksti-, heli-, video- jms) konteineritena. JAR-faili rajamise aluseks on tuntud failide arhiveerimise vorming ZIP. JAR-failide sisu ekstraheerimiseks saavad kasutajad kasutada JDK (Java Development Kit) jar-käsku või tavalist ZIP-tarkvara. JAR-failid on väga mugav viis kogu veebirakenduse allalaadimiseks ühte faili, ilma et oleks vaja kõiki veebirakenduse moodustavaid faile eraldi alla laadida. JAR-failide lugemiseks / kirjutamiseks kasutavad Java-arendajad paketis java.util.zip sisalduvaid klasse. Kui JAR-faili peaks täitma iseseisva rakendusena, siis määratletakse manifesti faili kirjetes üks klassidest peamise klassina. Käivitatavaid JAR-faile saab käivitada käsu java abil jar atribuudiga (st java -jar foo.jar).
Mis on sõda?
WAR (Web Application aRchive) on JAR-fail, mida kasutatakse konteinerina veebirakenduse ressursifailide (mis moodustavad veebirakenduse), näiteks JSP (Java Server Pages), serverside, klassifailide, XML-failide ja veebi (HTML) rühma jaoks ) lehed. WAR-failid identifitseeritakse nende .war-faililaiendi järgi. Need töötas välja Sun Microsystems (Java programmeerimiskeele algsed arendajad). JAR-failides (koodi usaldamiseks) kasutatavaid digitaalallkirju saab kasutada ka WAR-failides.
WAR-fail on sisemiselt jaotatud spetsiaalsete kataloogide hierarhiasse. WAR-failis sisalduva veebirakenduse struktuur on määratletud failis web.xml (mis asub kataloogis / WEB-INF). Web.xml kirjeldab ka seda, milline URL on millise serverletiga ühendatud. Samuti määratlevad need muutujad, millele pääseb juurde serveletis, ja sõltuvused, mis tuleb seadistada. Kui aga WAR-fail sisaldab ainult JSP-faile, on fail web.xml valikuline.
Mis vahe on JAR ja WAR vahel??
JAR-failidel on .jar-faililaiend, WAR-failidel aga .war-laiend. Kuid WAR-fail on JAR-faili tüüp. JAR-failid sisaldavad klassifaile, teeke, ressursse ja varafaile. WAR-failid sisaldavad servlette, JSP-lehti, HTML-lehti, JavaScripti kodeeringut. JAR-faile kasutatakse terve Java (töölaua) rakenduse arhiveerimiseks, samas kui WAR-faile kasutatakse veebirakenduste juurutamiseks.