JAR vs WAR
JAR i WAR dvije su vrste arhiva datoteka. Točnije, WAR datoteka je također JAR datoteka, ali se koriste u različite svrhe. JAR datoteke su poput poznatih ZIP datoteka. Mogu se koristiti za bilo koje arhiviranje opće namjene, ali najpopularnija upotreba JAR datoteka je njihovo korištenje kao spremnika za datoteke Java klase i datoteke resursa koje čine java aplikaciju. WAR datoteke koriste se posebno za implementaciju web aplikacija.
Što je JAR?
JAR (Java ARchive) je arhiva datoteka koja sadrži mnoge druge datoteke. Java programeri obično koriste JAR datoteke za distribuciju Java aplikacija ili Java biblioteka koristeći JAR datoteke kao spremnike za datoteke Java klase i odgovarajuće datoteke resursa (tj.e. tekst, audio, video, itd.). Poznati format arhiviranja datoteka ZIP je osnova na kojoj se gradi JAR datoteka. Korisnici mogu koristiti naredbu jar JDK (Java Development Kit) ili uobičajeni ZIP softver za izdvajanje sadržaja JAR datoteka. JAR datoteke vrlo su praktičan način preuzimanja cijele web aplikacije u jednoj datoteci, bez potrebe za zasebnim preuzimanjem svih datoteka koje čine web aplikaciju. Kako bi čitali/pisali JAR datoteke, Java programeri koriste klase sadržane u paketu java.util.zip. Ako bi se JAR datoteka trebala izvoditi kao samostalna aplikacija, tada će jedna od klasa biti navedena kao "glavna" klasa unutar unosa datoteke manifesta. Izvršne JAR datoteke mogu se pokrenuti pomoću java naredbe s atributom jar (tj. java -jar foo.jar).
Što je RAT?
WAR (Web Application aRchive) je JAR datoteka koja se koristi kao spremnik za grupu datoteka resursa web aplikacije (koje čine web aplikaciju) kao što su JSP (stranice Java poslužitelja), servleti, datoteke klasa, XML datoteke i web (HTML) stranice. WAR datoteke prepoznaju se po ekstenziji datoteke.war. Razvio ih je Sun Microsystems (izvorni programeri Java programskog jezika). Digitalni potpisi korišteni na JAR datotekama (za povjeravanje koda) mogu se koristiti i na WAR datotekama.
WAR datoteka interno je organizirana u hijerarhiju posebnih direktorija. Struktura web aplikacije sadržane u WAR datoteci definirana je u datoteci web.xml (koja se nalazi unutar direktorija /WEB-INF). Web.xml također opisuje koji je URL povezan s kojim servletom. Oni također definiraju varijable koje su dostupne unutar serverleta i ovisnosti koje se moraju postaviti. Međutim, ako WAR datoteka sadrži samo JSP datoteke, tada web.xml datoteka nije obavezna.
Koja je razlika između JAR-a i WAR-a?
JAR datoteke imaju ekstenziju datoteke.jar, dok datoteke WAR imaju ekstenziju.war. No, WAR datoteka je posebna vrsta JAR datoteke. JAR datoteke sadrže datoteke klasa, biblioteke, resurse i datoteke svojstava. WAR datoteke sadrže servlete, JSP stranice, HTML stranice, JavaScript kodiranje. JAR datoteke koriste se za arhiviranje cijele Java (stolne) aplikacije, dok se WAR datoteke koriste za implementaciju web aplikacija.