JAR vs WAR
JAR ja WAR ovat kahdenlaisia tiedostoarkistoja. Tarkemmin sanottuna WAR-tiedosto on myös JAR-tiedosto, mutta niitä käytetään eri tarkoituksiin. JAR-tiedostot ovat kuin tunnettuja ZIP-tiedostoja. Niitä voidaan käyttää mihin tahansa yleiseen arkistointiin, mutta suosituin JAR-tiedostojen käyttö on niiden käyttö Java-luokkatiedostojen ja Java-sovelluksen muodostavien resurssitiedostojen säilöinä. WAR-tiedostoja käytetään erityisesti verkkosovellusten käyttöönottoon.
Mikä on JAR?
JAR (Java-arkisto) on tiedostoarkisto, joka sisältää monia muita tiedostoja. Java-kehittäjät käyttävät yleensä JAR-tiedostoja Java-sovellusten tai Java-kirjastojen jakamiseen käyttämällä JAR-tiedostoja Java-luokkatiedostojen ja vastaavien resurssitiedostojen (esim.e. tekstiä, ääntä, videota jne.). Tunnettu tiedostojen arkistointimuoto ZIP on perusta, jolle JAR-tiedosto on rakennettu. Käyttäjät voivat joko käyttää JDK:n (Java Development Kit) jar-komentoa tai tavallista ZIP-ohjelmistoa JAR-tiedostojen sisällön purkamiseen. JAR-tiedostot ovat erittäin kätevä tapa ladata koko verkkosovellus yhdessä tiedostossa ilman, että sinun tarvitsee ladata kaikkia verkkosovelluksen muodostavia tiedostoja erikseen. JAR-tiedostojen lukemiseen/kirjoittamiseen Java-kehittäjät käyttävät java.util.zip-paketin sisältämiä luokkia. Jos JAR-tiedosto on tarkoitus suorittaa erillisenä sovelluksena, yksi luokista määritetään "pää"-luokiksi manifestitiedoston merkinnöissä. Suoritettavat JAR-tiedostot voidaan ajaa käyttämällä java-komentoa jar-attribuutilla (eli java -jar foo.jar).
Mikä on SOTA?
WAR (Web Application Archive) on JAR-tiedosto, jota käytetään säilönä verkkosovellusten resurssitiedostoille (jotka muodostavat verkkosovelluksen), kuten JSP (Java Server Pages), servletit, luokkatiedostot, XML tiedostot ja web-sivut (HTML). WAR-tiedostot tunnistetaan niiden.war-tiedostotunnisteesta. Ne on kehittänyt Sun Microsystems (alkuperäinen Java-ohjelmointikielen kehittäjä). JAR-tiedostoissa käytettyjä digitaalisia allekirjoituksia (koodin antamiseen) voidaan käyttää myös WAR-tiedostoissa.
WAR-tiedosto on sisäisesti järjestetty erikoishakemistojen hierarkiaan. WAR-tiedoston sisältämän verkkosovelluksen rakenne on määritetty web.xml-tiedostossa (joka sijaitsee /WEB-INF-hakemistossa). Web.xml kuvaa myös, mikä URL on yhdistetty mihinkin servletiin. Ne määrittelevät myös muuttujat, jotka ovat käytettävissä serveletissä, ja määritettävät riippuvuudet. Jos WAR-tiedosto kuitenkin sisältää vain JSP-tiedostoja, web.xml-tiedosto on valinnainen.
Mitä eroa on JAR:n ja WAR:n välillä?
JAR-tiedostojen tunniste on.jar, kun taas WAR-tiedostojen tunniste on.war. Mutta WAR-tiedosto on tietyntyyppinen JAR-tiedosto. JAR-tiedostot sisältävät luokkatiedostoja, kirjastoja, resursseja ja ominaisuustiedostoja. WAR-tiedostot sisältävät servlettejä, JSP-sivuja, HTML-sivuja ja JavaScript-koodausta. JAR-tiedostoja käytetään koko Java-sovelluksen (työpöytä) arkistointiin, kun taas WAR-tiedostoja käytetään verkkosovellusten käyttöönottoon.