A JAR- és WAR-csomagolás közötti különbségek

Áttekintés

Ez a gyors bemutató a JAR- és WAR-csomagolás közötti különbségekre összpontosít a Java-ban.

Először is, külön-külön definiáljuk az egyes csomagolási lehetőségeket. Ezután összefoglaljuk a különbségeket.

JAR csomagolás

Egyszerűen fogalmazva, a JAR – vagy Java Archive – egy csomagfájlformátum. A JAR fájlok .jar kiterjesztéssel rendelkeznek, és tartalmazhatnak könyvtárakat, erőforrásokat és metaadatfájlokat.

Lényegében egy zippelt fájl, amely a lefordított Java könyvtárak és alkalmazások .class fájljainak és erőforrásainak tömörített változatait tartalmazza.

Itt van például egy egyszerű JAR fájlszerkezet:

META-INF/ MANIFEST.MFcom/ baeldung/ MyApplication.class

A META-INF/MANIFEST.MF fájl további metaadatokat tartalmazhat az archívumban tárolt fájlokról.

JAR fájlt a jar parancs segítségével vagy olyan eszközökkel hozhatunk létre, mint a Maven.

WAR csomagolás

AWAR a Web Application Archive vagy Web Application Resource rövidítése. Ezek az archívumfájlok .war kiterjesztéssel rendelkeznek, és webalkalmazások csomagolására szolgálnak, amelyeket bármilyen Servlet/JSP konténeren telepíthetünk.

Itt egy tipikus WAR fájlszerkezet példaszerkezete:

Bent van egy META-INF könyvtár, amely a MANIFEST.MF-ben hasznos információkat tartalmaz a webarchívumról. A META-INF könyvtár privát, és kívülről nem érhető el.

Másrészt tartalmazza a WEB-INF nyilvános könyvtárat is, amely az összes statikus webes erőforrást tartalmazza, beleértve a HTML oldalakat, képeket és JS fájlokat. Ezenkívül tartalmazza a web.xml fájlt, a szervlet osztályokat és a könyvtárakat.

A .war archívum létrehozásához ugyanazokat az eszközöket és parancsokat használhatjuk, amelyeket a JAR létrehozásához használtunk.

Főbb különbségek

Melyek tehát a legfontosabb különbségek e két archívumtípus között?

Az első és legnyilvánvalóbb különbség a fájlkiterjesztés. A JAR-ok .jar kiterjesztésűek, míg a WAR-fájlok .war kiterjesztésűek.

A második fő különbség a céljuk és a működésük módja. A JAR fájlok lehetővé teszik számunkra, hogy több fájlt csomagoljunk, hogy azt könyvtárként, bővítményként vagy bármilyen alkalmazásként használhassuk. Ezzel szemben a WAR fájlokat csak webes alkalmazásokhoz használják.

Az archívumok felépítése is eltérő. Bármilyen kívánt struktúrájú JAR-t létrehozhatunk. Ezzel szemben a WAR-nak előre meghatározott szerkezete van WEB-INF és META-INF könyvtárakkal.

Végül egy JAR-t a parancssorból is futtathatunk, ha futtatható JAR-ként készítjük el, további szoftverek használata nélkül. Vagy használhatjuk könyvtárként is. Ezzel szemben egy WAR futtatásához szerverre van szükségünk.

Következtetés

Ebben a gyors cikkben összehasonlítottuk a .jar és .war Java csomagolási típusokat. Ennek során azt is megállapítottuk, hogy bár mindkettő ugyanazt a ZIP fájlformátumot használja, számos fontos különbség van.

Kezdje meg a Spring 5 és a Spring Boot 2 használatát a Tanulj Spring tanfolyamon keresztül:

>> KERESSE MEG A TANFOLYAMOT

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.