Különbségek a JAR és a WAR csomagolás között
1. Áttekintés
Ebben a gyors bemutatóban a Java JAR és WAR csomagolásának különbségeire fogunk összpontosítani.
Először külön-külön meghatározzuk az egyes csomagolási lehetőségeket. Utána összefoglaljuk különbségeiket.
2. JAR csomagolás
Egyszerűen fogalmazva, a JAR - vagy Java Archive - egy csomag fájlformátum. A JAR fájlok rendelkeznek a .befőttes üveg kiterjesztést tartalmazhat könyvtárak, erőforrások és metaadat fájlok.
Lényegében egy tömörített fájl, amely a .osztály a lefordított Java könyvtárak és alkalmazások fájljai és erőforrásai.
Például itt van egy egyszerű JAR fájlstruktúra:
META-INF / MANIFEST.MF com / baeldung / MyApplication.class
A META-INF / MANIFEST.MF a fájl további metaadatokat tartalmazhat az archívumban tárolt fájlokról.
Hozhatunk létre JAR fájlt a befőttes üveg parancs vagy olyan eszközökkel, mint Maven.
3. WAR csomagolás
A WAR a Web Application Archive vagy a Web Application Resource rövidítést jelenti. Ezeknek az archív fájloknak a .háború kiterjesztés és vannak webalkalmazások csomagolására használják hogy bármely Servlet / JSP tárolóba telepíthetjük.
Íme egy példa egy tipikus WAR fájlstruktúra elrendezésére:
META-INF / MANIFEST.MF WEB-INF / web.xml jsp / helloWorld.jsp osztályok / static / templates / application.properties lib / // * .jar fájlok lib-ként
Belül van egy META-INF könyvtár, amely hasznos információkat tartalmaz a MANIFEST.MF 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ár az összes statikus webes erőforrással, beleértve a HTML oldalakat, képeket és JS fájlokat. Sőt, tartalmazza a web.xml fájl, szervlet osztályok és könyvtárak.
Használhatjuk ugyanazokat az eszközöket és parancsokat, mint amilyeneket a JAR elkészítéséhez használtunk a .háború archívum.
4. Főbb különbségek
Tehát mi a legfontosabb különbség e két archívumtípus között?
Az első és legkézenfekvőbb különbség a fájlkiterjesztés. A JAR-oknak van .befőttes üveg kiterjesztés, míg a WAR fájl rendelkezik .háború kiterjesztés.
A második fő különbség az céljuk és működésük módja. A JAR fájlok lehetővé teszik számunkra több fájl csomagolását annak érdekében, hogy könyvtárként, bővítményként vagy bármilyen alkalmazásként használhassuk őket. Másrészt a WAR fájlokat csak webalkalmazásokhoz használják.
A levéltárak szerkezete is eltérő. Bármilyen kívánt szerkezetű JAR-t létrehozhatunk. Ezzel szemben a WAR előre definiált szerkezettel rendelkezik WEB-INF és META-INF könyvtárakat.
Végül megtehetjük futtasson egy JAR-t a parancssorból ha futtatható JAR-ként építjük fel további szoftver használata nélkül. Vagy használhatjuk könyvtárként. Ezzel szemben mi szerverre van szükségük a WAR végrehajtásához.
5. Következtetés
Ebben a gyors cikkben összehasonlítottuk a .befőttes üveg és .háború Java csomagolási típusok. Ennek során azt is megjegyeztük, hogy bár mindkettő ugyanazt a ZIP fájlformátumot használja, számos fontos különbség van.