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.