Spustite aplikáciu Java z príkazového riadku

1. Prehľad

Každá zmysluplná aplikácia zvyčajne obsahuje jeden alebo viac súborov JAR ako závislostí. Sú však prípady, keď samotný súbor JAR predstavuje samostatnú aplikáciu alebo webovú aplikáciu.

V tomto článku sa zameriame na samostatný scenár aplikácie. Ďalej ju budeme označovať ako aplikáciu JAR.

V tomto tutoriáli sa najskôr naučíme, ako vytvoriť aplikáciu JAR. Neskôr sa naučíme, ako na to spustiť aplikáciu JAR s argumentmi príkazového riadku alebo bez nich.

2. Vytvorte a JAR Aplikácia

Súbor JAR môže obsahovať jednu alebo viac hlavných tried. Každá hlavná trieda je vstupným bodom aplikácie. Teoreticky teda môže súbor JAR obsahovať viac ako jednu aplikáciu, ale aby mohol byť spustený, musí obsahovať aspoň jednu hlavnú triedu.

V súbore JAR môže byť v súbore manifestu nastavený jeden vstupný bod. V tomto prípade je súbor JAR spustiteľný súbor JAR. V tomto súbore JAR musí byť zahrnutá hlavná trieda.

Najskôr sa pozrime na rýchly príklad, ako zostaviť naše triedy a vytvoriť spustiteľný súbor JAR so súborom manifestu:

$ javac com / baeldung / jarArguments / *. java $ jar cfm JarExample.jar ../resources/example_manifest.txt com / baeldung / jarArguments / *. class

Nevykonateľný súbor JAR je jednoducho súbor JAR, ktorý nemá Hlavná trieda definované v súbore manifestu. Ako uvidíme neskôr, stále môžeme prevádzkovať hlavnú triedu, ktorá je obsiahnutá v samotnom súbore JAR.

Tu je príklad, ako by sme vytvorili nespustiteľný JAR bez súboru manifestu:

$ jar cf JarExample2.jar com / baeldung / jarArguments / *. class

3. Argumenty príkazového riadku Java

Rovnako ako každá aplikácia, aj aplikácia JAR prijíma ľubovoľný počet argumentov vrátane nulových. Všetko závisí od potreby aplikácie.

Toto umožňuje užívateľovi zadajte informácie o konfigurácii pri spustení aplikácie.

Vďaka tomu sa aplikácia môže vyhnúť pevne zakódovaným hodnotám a stále dokáže spracovať mnoho rôznych prípadov použitia.

Argument môže obsahovať akékoľvek alfanumerické znaky, znaky unicode a prípadne niektoré špeciálne znaky povolené v prostredí Shell, napríklad „@“.

Argumenty sú oddelené jednou alebo viacerými medzerami. Ak argument musí obsahovať medzery, musia byť medzery medzi úvodzovkami. Buď jednoduché, alebo dvojité úvodzovky fungujú dobre.

Zvyčajne pre typickú aplikáciu Java pri vyvolaní aplikácie užívateľ zadá argumenty príkazového riadku za názvom triedy.

Nie vždy to však platí pre aplikácie JAR.

Ako sme už diskutovali, vstupný bod hlavnej triedy Java je hlavnou metódou. The argumenty sú všetky Strings a prechádzajú na hlavnú metódu ako a String pole.

To znamená, že v rámci aplikácie môžeme previesť akýkoľvek prvok z String pole na ďalšie dátové typy, ako napr char, int, dvojitý, ich triedy obalov, alebo iné vhodné typy.

4. Spustite spustiteľný súbor JAR s argumentmi

Pozrime sa na základnú syntax pre spustenie spustiteľného súboru JAR s argumentmi:

java -jar jar-nazov-suboru [args ...]

Spustiteľný súbor JAR, ktorý bol vytvorený skôr, je jednoduchá aplikácia, ktorá iba vytlačí odovzdané argumenty. Môžeme ho spustiť s ľubovoľným počtom argumentov. Ďalej uvádzame príklad s dvoma argumentmi:

$ java -jar JarExample.jar "arg 1" [chránený e-mailom] 

V konzole uvidíme nasledujúci výstup:

Ahoj Baeldung Reader v príklade Jar! Existujú 2 argumenty! Argument (1): arg 1 Argument (2): [chránený e-mailom] 

Takže pri vyvolaní spustiteľného súboru JAR nemusíme na príkazovom riadku uvádzať názov hlavnej triedy. Jednoducho pridáme svoje argumenty za názov súboru JAR. Ak za názvom súboru spustiteľného súboru JAR zadáme názov triedy, stane sa to jednoducho prvým argumentom skutočnej hlavnej triedy.

Aplikácia JAR je väčšinou spustiteľný súbor JAR. Spustiteľný súbor JAR môže mať v súbore manifestu definovanú maximálne jednu hlavnú triedu.

V dôsledku toho nemožno v súbore manifestu nastaviť ďalšie aplikácie v rovnakom spustiteľnom súbore JAR, stále ich však môžeme spustiť z príkazového riadku, rovnako ako v prípade nespustiteľného súboru JAR. Uvidíme, ako presne, v ďalšej časti.

5. Spustite nespustiteľný súbor JAR s argumentmi

Na spustenie aplikácie v nespustiteľnom súbore JAR musíme použiť -cp možnosť namiesto -jar. Použijeme -cp voľba (skratka pre classpath) na zadanie súboru JAR, ktorý obsahuje súbor triedy, ktorý chceme vykonať:

java -cp jar-nazov-suboru main-class-name [args ...]

Ako môžeš vidieť, v takom prípade budeme musieť do príkazového riadku uviesť názov hlavnej triedy a za ním argumenty.

Nespustiteľný JAR vytvorený skôr obsahuje rovnakú jednoduchú aplikáciu. Môžeme ho spustiť s ľubovoľnými (vrátane nulových) argumentov. Tu je príklad s dvoma argumentmi:

$ java -cp JarExample2.jar com.baeldung.jarArguments.JarExample "arg 1" [chránený e-mailom]

A ako sme videli vyššie, uvidíme nasledujúci výstup:

Ahoj čitateľ Baeldung v príklade Jar! Existujú 2 argumenty! Argument (1): arg 1 Argument (2): [chránený e-mailom]

6. Záver

V tomto tutoriáli sme sa naučili dva spôsoby spustenia aplikácie JAR na príkazovom riadku s argumentmi alebo bez nich.

Ukázali sme tiež, že argument môže obsahovať medzery a špeciálne znaky (pokiaľ to shell umožňuje).

Ako vždy, kód príkladov je k dispozícii na GitHub.


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