Dôležitosť atribútu hlavného manifestu v samostatnom vykonávaní JAR

1. Prehľad

Každá spustiteľná trieda Java musí obsahovať a hlavný metóda. Jednoducho povedané, táto metóda je východiskovým bodom aplikácie.

Aby sme mohli spustiť našu hlavnú metódu zo samostatne vykonávaného súboru JAR, musíme vytvoriť správny súbor manifestu a zabaliť ho spolu s naším kódom. Tento súbor manifestu musí mať hlavný atribút manifestu, ktorý definuje cestu k triede obsahujúcej našu hlavnú metódu.

V tejto príručke si ukážeme, ako na to zbalte jednoduchú triedu Java ako samostatne vykonateľný súbor JAR a demonštrujte dôležitosť hlavného atribútu manifestu pre úspešné vykonanie.

2. Vykonanie JAR bez hlavného atribútu manifestu

Aby sme boli praktickejší, ukážeme si príklad neúspešného vykonania bez náležitého atribútu manifestu.

Poďme napísať jednoduchú triedu Java s hlavnou metódou:

verejná trieda AppExample {public static void main (String [] args) {System.out.println ("AppExample vykonaný!"); }} 

Ak chcete zabaliť našu ukážkovú triedu do archívu JAR, musíme ísť do shellu nášho operačného systému a skompilovať ho:

javac -d. AppExample.java 

Potom to môžeme zabaliť do JAR:

jar cvf example.jar com / baeldung / manifest / AppExample.class 

Náš priklad.jar bude obsahovať predvolený súbor manifestu. Teraz sa môžeme pokúsiť vykonať JAR:

java -jar priklad.jar 

Spustenie zlyhá s chybou:

žiadny hlavný atribút manifestu, napríklad example.jar 

3. Vykonanie JAR s hlavným atribútom manifestu

Ako sme videli, JVM nemohol nájsť náš hlavný atribút manifestu. Z tohto dôvodu nemohol nájsť našu hlavnú triedu obsahujúcu našu hlavnú metódu.

Spolu s naším kódom zahrnieme do súboru JAR správny atribút manifestu. Budeme musieť vytvoriť MANIFEST.MF súbor obsahujúci jeden riadok:

Hlavná trieda: com.baeldung.manifest.AppExample 

Náš manifest teraz obsahuje cestu k našej kompilácii AppExample.class.

Pretože sme už zostavili našu ukážkovú triedu, nie je potrebné to robiť znova.

Zbalíme to spolu s naším súborom manifestu:

jar cvmf MANIFEST.MF example.jar com / baeldung / manifest / AppExample.class 

Tentokrát sa JAR vykoná podľa očakávania a vydá:

Príklad aplikácie bol vykonaný!

4. Záver

V tomto rýchlom článku sme si ukázali, ako zbaliť jednoduchú triedu Java ako samostatne vykonateľný súbor JAR, a na dvoch jednoduchých príkladoch sme demonštrovali dôležitosť hlavného atribútu manifestu.

Celý zdrojový kód tohto príkladu je k dispozícii na GitHub. Toto je projekt založený na Maven, takže ho možno importovať a použiť taký, aký je.


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