JAR vs WAR
JAR og WAR er to typer filarkiver. Mere korrekt er en WAR-fil også en JAR-fil, men de bruges til forskellige formål. JAR-filer er som velkendte ZIP-filer. De kan bruges til enhver generel arkivering, men den mest populære brug af JAR-filer er at bruge dem som containere til Java-klassefiler og ressourcefiler, der udgør en java-applikation. WAR-filer bruges specifikt til udrulning af webapplikationer.
Hvad er JAR?
JAR (Java ARchive) er et filarkiv, der bærer mange andre filer. JAR-filer bruges norm alt af Java-udviklere til at distribuere Java-applikationer eller Java-biblioteker ved at bruge JAR-filerne som containere til Java-klassefilerne og tilsvarende ressourcefiler (dvs.e. tekst, lyd, video osv.). Det velkendte filarkiveringsformat ZIP er grundlaget, som JAR-filen er bygget på. Brugere kan enten bruge jar-kommandoen i JDK (Java Development Kit) eller almindelig ZIP-software til at udtrække indholdet af JAR-filer. JAR-filer er en meget praktisk måde at downloade en hel webapplikation i en enkelt fil, uden at skulle downloade alle de filer, der udgør webapplikationen separat. For at læse/skrive JAR-filer bruger Java-udviklere klasserne indeholdt i java.util.zip-pakken. Hvis JAR-filen formodes at blive udført som en selvstændig applikation, så vil en af klasserne blive specificeret som "hoved"-klassen i manifestfilens indgange. Eksekverbare JAR-filer kan køres ved hjælp af java-kommandoen med jar-attributten (dvs. java -jar foo.jar).
Hvad er KRIG?
WAR (Web Application Archive) er en JAR-fil, der bruges som en beholder for en gruppe af webapplikationsressourcefiler (der udgør en webapplikation) såsom JSP (Java Server Pages), servlets, klassefiler, XML filer og web (HTML) sider. WAR-filer identificeres ved deres.war filtypenavn. De blev udviklet af Sun Microsystems (oprindelige udviklere af programmeringssproget Java). Digitale signaturer brugt på JAR-filer (for at overlade koden) kan også bruges på WAR-filer.
En WAR-fil er internt organiseret i et hierarki af specielle mapper. Strukturen af webapplikationen indeholdt i WAR-filen er defineret i web.xml-filen (som findes i /WEB-INF-mappen). Web.xml beskriver også hvilken URL der er forbundet med hvilken servlet. De definerer også de variabler, der er tilgængelige inde i servelet og afhængigheder, der skal konfigureres. Men hvis WAR-filen kun indeholder JSP-filer, er web.xml-filen valgfri.
Hvad er forskellen mellem JAR og WAR?
JAR-filer har filtypenavnet.jar, mens WAR-filer har filtypenavnet.war. Men en WAR-fil er en bestemt type JAR-fil. JAR-filer indeholder klassefiler, biblioteker, ressourcer og ejendomsfiler. WAR-filer indeholder servlets, JSP-sider, HTML-sider, JavaScript-kodning. JAR-filer bruges til at arkivere en hel Java-applikation (desktop), mens WAR-filer bruges til at implementere webapplikationer.