Razlike između JAR i WAR pakiranja

1. Pregled

U ovom brzom vodiču, usredotočit ćemo se na razlike između JAR i WAR pakiranja u Javi.

Prvo ćemo definirati svaku mogućnost pakiranja zasebno. Poslije ćemo sažeti njihove razlike.

2. JAR pakiranje

Jednostavno rečeno, JAR - ili Java Archive - format je datoteke paketa. JAR datoteke imaju .jar produženje i može sadržavati knjižnice, resursi i datoteke metapodataka.

U osnovi, riječ je o zipovanoj datoteci koja sadrži komprimirane verzije .razred datoteke i resursi kompiliranih Java knjižnica i aplikacija.

Na primjer, evo jednostavne strukture datoteka JAR:

META-INF / MANIFEST.MF com / baeldung / MyApplication.class 

The META-INF / MANIFEST.MF datoteka može sadržavati dodatne metapodatke o datotekama pohranjenim u arhivi.

JAR datoteku možemo stvoriti pomoću staklenka naredba ili s alatima poput Mavena.

3. RATNO pakiranje

WAR je kratica od Web Application Archive ili Web Application Resource. Te arhivske datoteke imaju .rat produženje i su koristi se za pakiranje web aplikacija koji možemo rasporediti na bilo kojem spremniku Servlet / JSP.

Evo primjera izgleda tipične strukture datoteka WAR-a:

META-INF / MANIFEST.MF WEB-INF / web.xml jsp / helloWorld.jsp klase / static / templates / application.properties lib / // * .jar datoteke kao libs

Unutra ima META-INF imenik koji sadrži korisne informacije u NAJVIŠE.MF o web arhivi. The META-INF direktorij je privatan i ne može mu se pristupiti izvana.

S druge strane, sadrži i WEB-INF javni direktorij sa svim statičkim web resursima, uključujući HTML stranice, slike i JS datoteke. Štoviše, sadrži web.xml datoteke, klase servleta i knjižnice.

Možemo koristiti iste alate i naredbe koje smo koristili za izgradnju JAR-a za izgradnju a .rat arhiva.

4. Ključne razlike

Pa, koje su ključne razlike između ove dvije vrste arhiva?

Prva i najočitija razlika je ekstenzija datoteke. JAR-ovi imaju .jar , dok WAR datoteka ima .rat produženje.

Druga glavna razlika je njihova svrha i način funkcioniranja. JAR datoteke omogućuju nam pakiranje više datoteka kako bismo ih koristili kao knjižnicu, dodatak ili bilo koju vrstu aplikacije. S druge strane, WAR datoteke koriste se samo za web aplikacije.

Struktura arhiva također je različita. Možemo stvoriti JAR s bilo kojom željenom strukturom. Suprotno tome, WAR ima unaprijed definiranu strukturu s WEB-INF i META-INF direktoriji.

Napokon, možemo pokrenite JAR iz naredbenog retka ako ga napravimo kao izvršni JAR bez upotrebe dodatnog softvera. Ili ga možemo koristiti kao knjižnicu. Nasuprot tome, mi potreban je poslužitelj za izvršenje RATA.

5. Zaključak

U ovom kratkom članku usporedili smo .jar i .rat Vrste Java pakiranja. Pritom smo također primijetili da, iako obje koriste isti format ZIP datoteke, postoji nekoliko važnih razlika.