Sprievodca vytvorením a spustením súboru Jar v jazyku Java

1. Prehľad

Zvyčajne je vhodné spojiť veľa súborov triedy Java do jedného archívneho súboru.

V tomto výučbe sa budeme zaoberať vstupy a výstupy práce s nádobou - alebo Java ARpažítka - súbory v Jave.

Konkrétne si vezmeme jednoduchú aplikáciu a preskúmame rôzne spôsoby, ako ju zabaliť a spustiť ako jar. Odpovieme tiež na niektoré kuriozity ako ako ľahko prečítať súbor manifestu pohára pozdĺž cesty.

2. Nastavenie programu Java

Predtým, ako môžeme vytvoriť spustiteľný súbor jar, musí mať naša aplikácia triedu s a hlavný metóda. Táto trieda poskytuje náš vstupný bod do aplikácie:

public static void main (String [] args) {System.out.println ("Hello Baeldung Reader!"); }

3. Príkaz Jar

Teraz, keď sme už všetci nastavení, zostavíme náš kód a vytvoríme náš súbor jar.

Môžeme to urobiť pomocou javac z príkazového riadku:

javac com / baeldung / jar / *. java

The javac príkaz vytvorí JarExample.class v com / baeldung / jar adresár. Teraz to môžeme zabaliť do súboru jar.

3.1. Používanie predvolených nastavení

Na vytvorenie súboru jar použijeme jar príkaz.

Ak chcete použiť jar príkaz na vytvorenie súboru jar, musíme použiť príkaz c možnosť označiť, že vytvárame súbor a f možnosť určiť súbor:

jar cf JarExample.jar com / baeldung / jar / *. trieda

3.2. Nastavenie hlavnej triedy

Je užitočné, aby manifest súboru jar obsahoval hlavnú triedu.

Manifest je špeciálny súbor v pohári umiestnenom META-INF adresár a pomenovaný MANIFEST.MF. Súbor manifestu obsahuje špeciálne meta informácie o súboroch v súbore jar.

Niektoré príklady toho, na čo môžeme použiť súbor manifestu, zahŕňajú nastavenie vstupného bodu, nastavenie informácií o verzii a konfigurácia cesty triedy.

Použitím e voľbou môžeme určiť náš vstupný bod a jar príkaz ho pridá do vygenerovaného súboru manifestu.

Utekajme jar so zadaným vstupným bodom:

jar cfe JarExample.jar com.baeldung.jar.JarExample com / baeldung / jar / *. trieda

3.3. Aktualizácia obsahu

Povedzme, že sme zmenili jednu z našich tried a znova sme ju skompilovali. Teraz musíme aktualizovať náš súbor jar.

Použime jar príkaz s u možnosť aktualizovať jej obsah:

jar uf JarExample.jar com / baeldung / jar / JarExample.class

3.4. Nastavenie súboru manifestu

V niektorých prípadoch možno budeme musieť mať väčšiu kontrolu nad tým, čo sa nachádza v našom súbore manifestov. The jar príkaz poskytuje funkčnosť na poskytovanie našich vlastných informácií o manifeste.

Pridajme čiastočný súbor manifestu s názvom example_manifest.txt do našej aplikácie nastavíme náš vstupný bod:

Hlavná trieda: com.baeldung.jar.JarExample

Informácie o manifeste, ktoré poskytneme, sa pridajú k tomu, čo generuje príkaz jar, takže je to jediný riadok, ktorý v súbore potrebujeme.

Je dôležité, aby sme náš manifestný súbor ukončili znakomNový riadok. Bez nového riadku bude náš súbor manifestu ticho ignorovaný.

S týmto nastavením vytvorme našu nádobu znova pomocou našich informácií o manifeste a m možnosť:

jar cfm JarExample.jar com / baeldung / jar / example_manifest.txt com / baeldung / jar / *. class

3.5. Podrobný výstup

Ak chceme viac informácií z jar príkaz, môžeme jednoducho pridať v možnosť podrobného.

Poďme spustiť naše jar príkaz s v možnosť:

jar cvfm JarExample.jar com / baeldung / jar / example_manifest.txt com / baeldung / jar / *. pridaná trieda manifestu pridanie: com / baeldung / jar / JarExample.class (in = 453) (out = 312) (deflovaný 31% )

4. Používanie Maven

4.1. Predvolená konfigurácia

Môžeme tiež použiť Maven na vytvorenie našej nádoby. Pretože Maven uprednostňuje konvenciu pred konfiguráciou, môžeme jednoducho spustiť balík a vytvoriť náš súbor jar.

balíček mvn

V predvolenom nastavení bude náš súbor jar pridaný do súboru cieľ priečinok v našom projekte.

4.2. Označenie hlavnej triedy

Môžeme tiež nakonfigurovať Maven tak, aby určil hlavnú triedu a vytvoril spustiteľný súbor jar.

 org.apache.maven.plugins maven-jar-plugin $ {maven-jar-plugin.version} com.baeldung.jar.JarExample 

5. Používanie Spring Boot

5.1. Používanie Maven a Defaults

Ak používame Spring Boot s Maven, mali by sme najskôr potvrdiť, že je naše nastavenie balenia nastavené na jar radšej než vojna v našom pom.xml spis.

4.0.0 jar-boot jar jar-boot

Keď zistíme, že je nakonfigurovaný, môžeme spustiť balíček cieľ:

balíček mvn

5.2. Nastavenie vstupného bodu

Nastavením našej hlavnej triedy nájdeme rozdiely medzi vytvorením nádoby s bežnou aplikáciou Java a nádobou na tuk pre aplikáciu Spring Boot. V aplikácii Spring Boot je vlastne hlavná trieda org.springframework.boot.loader.JarLauncher.

Aj keď náš príklad nie je aplikácia Spring Boot, mohli by sme ju ľahko nastaviť na konzolovú aplikáciu Spring Boot.

Naša hlavná trieda by mala byť určená ako počiatočná trieda:

 com.baeldung.jar.JarPriklad 

Pomocou Gradle môžeme tiež vytvoriť tukovú nádobu Spring Boot.

6. Spustenie nádoby

Teraz, keď máme náš súbor jar, môžeme ho spustiť. Súbory jar spúšťame pomocou java príkaz.

6.1. Odvodenie hlavnej triedy

Keďže sme pokračovali a ubezpečili sme sa, že naša hlavná trieda je uvedená v manifeste, môžeme použiť -jar možnosť java príkaz na spustenie našej aplikácie bez zadania hlavnej triedy:

java -jar JarExample.jar

6.2. Zadanie hlavnej triedy

Keď spúšťame našu aplikáciu, môžeme určiť aj hlavnú triedu. Môžeme použiť -cp možnosť zabezpečiť, aby sa náš súbor jar nachádzal v triede cesty, a potom poskytnúť našu hlavnú triedu v priečinku package.className formát:

java -cp JarExample.jar com.baeldung.jar.JarExample

Používanie oddeľovačov ciest namiesto formátu balíka tiež funguje:

java -cp JarExample.jar com / baeldung / jar / JarExample

6.3. Zoznam obsahu nádoby

Môžeme použiť jar príkaz vypísať obsah nášho jar súboru:

jar tf JarExample.jar META-INF / META-INF / MANIFEST.MF com / baeldung / jar / JarExample.class

6.4. Prezeranie súboru manifestu

Pretože môže byť dôležité vedieť, čo je v našom MANIFEST.MF súboru, pozrime sa na rýchly a ľahký spôsob, ako môžeme nahliadnuť do obsahu bez toho, aby sme opustili príkazový riadok.

Použime rozbaliť príkaz s voľbou -p:

unzip -p JarExample.jar META-INF / MANIFEST.MF Verzia manifestu: 1.0 Vytvoril: 1.8.0_31 (Oracle Corporation) Hlavná trieda: com.baeldung.jar.JarExample

7. Záver

V tomto tutoriáli sme nastavili jednoduchú Java aplikáciu s a hlavný trieda.

Potom sme sa pozreli na tri spôsoby vytvárania súborov jar: pomocou súboru jar príkazom, s Mavenom a s aplikáciou Maven Spring Boot.

Po vytvorení našich súborov jar sme sa vrátili na príkazový riadok a spustili ich s odvodenou a zadanou hlavnou triedou.

Naučili sme sa tiež, ako zobraziť obsah súboru a ako zobraziť obsah jedného súboru v pohári.

Jednoduchý príklad Java a príklad Spring Boot sú k dispozícii na GitHub.