JAR vs WAR
JAR och WAR är två typer av filarkiv. Mer korrekt är en WAR-fil också en JAR-fil, men de används för olika ändamål. JAR-filer är som välkända ZIP-filer. De kan användas för alla allmänna arkivering, men den mest populära användningen av JAR-filer är att använda dem som behållare för Java-klassfiler och resursfiler som utgör en java-applikation. WAR-filer används specifikt för distribution av webbapplikationer.
Vad är JAR?
JAR (Java ARchive) är ett filarkiv som innehåller många andra filer. JAR-filer används vanligtvis av Java-utvecklare för att distribuera Java-applikationer eller Java-bibliotek med JAR-filerna som behållare för Java-klassfilerna och motsvarande resursfiler (dvs.e. text, ljud, video, etc.). Det välkända filarkiveringsformatet ZIP är grunden för JAR-filen. Användare kan antingen använda jar-kommandot i JDK (Java Development Kit) eller vanlig ZIP-programvara för att extrahera innehållet i JAR-filer. JAR-filer är ett mycket bekvämt sätt att ladda ner en hel webbapplikation i en enda fil, utan att behöva ladda ner alla filer som utgör webbapplikationen separat. För att läsa/skriva JAR-filer använder Java-utvecklare klasserna som finns i paketet java.util.zip. Om JAR-filen är tänkt att köras som en fristående applikation, kommer en av klasserna att specificeras som "huvud"-klassen i poster i manifestfilen. Körbara JAR-filer kan köras med java-kommandot med jar-attributet (dvs. java -jar foo.jar).
Vad är KRIG?
WAR (Web Application Archive) är en JAR-fil som används som en behållare för en grupp webbapplikationsresursfiler (som utgör en webbapplikation) såsom JSP (Java Server Pages), servlets, klassfiler, XML filer och webbsidor (HTML). WAR-filer identifieras av deras.war-filtillägg. De utvecklades av Sun Microsystems (ursprungliga utvecklare av programmeringsspråket Java). Digitala signaturer som används på JAR-filer (för att anförtro koden) kan också användas på WAR-filer.
En WAR-fil är internt organiserad i en hierarki av speciella kataloger. Strukturen för webbapplikationen som finns i WAR-filen definieras i web.xml-filen (som finns i katalogen /WEB-INF). Web.xml beskriver även vilken URL som är kopplad till vilken servlet. De definierar också de variabler som är tillgängliga i serveleten och beroenden som måste ställas in. Men om WAR-filen bara innehåller JSP-filer, är web.xml-filen valfri.
Vad är skillnaden mellan JAR och WAR?
JAR-filer har filtillägget.jar, medan WAR-filer har filtillägget.war. Men en WAR-fil är en specifik typ av en JAR-fil. JAR-filer innehåller klassfiler, bibliotek, resurser och egendomsfiler. WAR-filer innehåller servlets, JSP-sidor, HTML-sidor, JavaScript-kodning. JAR-filer används för att arkivera en hel Java-applikation (skrivbord), medan WAR-filer används för att distribuera webbapplikationer.