JAR vs. SÕDA
JAR ja WAR on kahte tüüpi failiarhiive. Õigemini on WAR-fail ka JAR-fail, kuid neid kasutatakse erinevatel eesmärkidel. JAR-failid on nagu hästi tuntud ZIP-failid. Neid saab kasutada mis tahes üldotstarbeliseks arhiveerimiseks, kuid JAR-failide kõige populaarsem kasutusala on nende kasutamine Java-klassi failide ja ressursifailide konteineritena, mis moodustavad Java-rakenduse. WAR-faile kasutatakse spetsiaalselt veebirakenduste juurutamiseks.
Mis on JAR?
JAR (Java ARhiiv) on failiarhiiv, mis kannab palju muid faile. Java-arendajad kasutavad tavaliselt JAR-faile Java-rakenduste või Java-teekide levitamiseks, kasutades JAR-faile Java klassifailide ja vastavate ressursifailide konteineritena (st.e. tekst, heli, video jne). Tuntud failiarhiveerimisvorming ZIP on aluseks, millele JAR-fail on üles ehitatud. Kasutajad saavad JAR-failide sisu ekstraktimiseks kasutada kas JDK (Java Development Kit) käsku jar või tavalist ZIP-tarkvara. JAR-failid on väga mugav viis terve veebirakenduse allalaadimiseks ühes failis, ilma et peaksite kõiki veebirakenduse moodustavaid faile eraldi alla laadima. JAR-failide lugemiseks/kirjutamiseks kasutavad Java arendajad paketis java.util.zip sisalduvaid klasse. Kui JAR-faili peaks käivitama eraldiseisva rakendusena, siis üks klassidest määratakse manifestifaili kirjetes peamise klassina. Käivitatavaid JAR-faile saab käivitada java käsuga koos atribuudiga jar (st java -jar foo.jar).
Mis on SÕDA?
WAR (veebirakenduse arhiiv) on JAR-fail, mida kasutatakse konteinerina veebirakenduse ressursifailide rühma jaoks (mis moodustavad veebirakenduse), nagu JSP (Java serverilehed), servletid, klassifailid, XML faile ja veebilehti (HTML). WAR-failid tuvastatakse nende.war faililaiendi järgi. Need töötas välja Sun Microsystems (Java programmeerimiskeele algsed arendajad). JAR-failidel kasutatavaid digitaalallkirju (koodi usaldamiseks) saab kasutada ka WAR-failide puhul.
WAR-fail on sisemiselt korraldatud 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 millise servletiga on ühendatud. Samuti määratlevad need muutujad, millele serveris on juurdepääs, ja sõltuvused, mis tuleb seadistada. Kui aga WAR-fail sisaldab ainult JSP-faile, on fail web.xml valikuline.
Mis vahe on JARil ja WARil?
JAR-failide laiend on.jar, samas kui WAR-failide laiend on.war. Kuid WAR-fail on teatud tüüpi JAR-fail. JAR-failid sisaldavad klassifaile, teeke, ressursse ja atribuutide faile. WAR-failid sisaldavad servlette, JSP-lehti, HTML-lehti ja JavaScripti kodeerimist. JAR-faile kasutatakse terve Java (töölaua) rakenduse arhiveerimiseks, samas kui WAR-faile kasutatakse veebirakenduste juurutamiseks.