Rozdiely medzi obalmi JAR a WAR

1. Prehľad

V tomto rýchlom návode zameriame sa na rozdiely medzi obalmi JAR a WAR v Jave.

Najskôr definujeme každú možnosť balenia osobitne. Potom zhrnieme ich rozdiely.

2. Balenie JAR

Zjednodušene povedané, JAR - alebo Java Archive - je formát súboru balíka. Súbory JAR majú .jar rozšírenie a môže obsahovať knižnice, zdroje a súbory metadát.

V zásade je to komprimovaný súbor obsahujúci komprimované verzie servera .trieda súbory a zdroje skompilovaných knižníc a aplikácií Java.

Napríklad tu je jednoduchá štruktúra súborov JAR:

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

The META-INF / MANIFEST.MF súbor môže obsahovať ďalšie metaúdaje o súboroch uložených v archíve.

Môžeme vytvoriť súbor JAR pomocou jar príkazom alebo pomocou nástrojov ako Maven.

3. Obaly VOJNY

WAR znamená Archív webových aplikácií alebo Zdroj webových aplikácií. Tieto archívne súbory majú .vojna predĺženie a sú slúži na balenie webových aplikácií ktoré môžeme nasadiť na akýkoľvek kontajner Servlet / JSP.

Tu je príklad rozloženia typickej štruktúry súborov WAR:

Súbory META-INF / MANIFEST.MF WEB-INF / web.xml jsp / helloWorld.jsp / static / templates / application.properties lib / // * .jar ako libs

Vo vnútri má META-INF adresár obsahujúci užitočné informácie v priečinku MANIFEST.MF o webovom archíve. The META-INF adresár je súkromný a nemožno k nemu získať prístup zvonku.

Na druhej strane obsahuje tiež WEB-INF verejný adresár so všetkými statickými webovými prostriedkami vrátane stránok HTML, obrázkov a súborov JS. Okrem toho obsahuje: web.xml súbor, triedy servletov a knižnice.

Na zostavenie súboru JAR môžeme použiť rovnaké nástroje a príkazy, ktoré sme použili na zostavenie súboru JAR .vojna archív.

4. Kľúčové rozdiely

Aké sú teda kľúčové rozdiely medzi týmito dvoma typmi archívov?

Prvý a najzrejmejší rozdiel je rozšírenie súboru. JAR majú .jar prípona, zatiaľ čo súbor WAR má príponu .vojna predĺženie.

Druhý hlavný rozdiel je ich účel a spôsob fungovania. Súbory JAR nám umožňujú zabaliť viac súborov, aby sme ich mohli použiť ako knižnicu, doplnok alebo akýkoľvek druh aplikácie. Na druhej strane sa súbory WAR používajú iba pre webové aplikácie.

Štruktúra archívov je tiež odlišná. Môžeme vytvoriť JAR s ľubovoľnou požadovanou štruktúrou. Na rozdiel od toho má WAR preddefinovanú štruktúru s WEB-INF a META-INF adresáre.

Nakoniec môžeme spustite JAR z príkazového riadku ak ho zostavíme ako spustiteľný súbor JAR bez použitia ďalšieho softvéru. Alebo to môžeme použiť ako knižnicu. Naproti tomu my na vykonanie VOJNY potrebujete server.

5. Záver

V tomto rýchlom článku sme porovnali .jar a .vojna Typy obalov Java. Pritom sme tiež poznamenali, že aj keď obidva používajú rovnaký formát súboru ZIP, existuje niekoľko dôležitých rozdielov.


$config[zx-auto] not found$config[zx-overlay] not found