Futtasson egy Java alkalmazást a parancssorból

1. Áttekintés

Általában minden értelmes alkalmazás egy vagy több JAR fájlt tartalmaz függőségként. Vannak azonban esetek, amikor maga a JAR fájl önálló alkalmazást vagy webalkalmazást jelent.

Ebben a cikkben az önálló alkalmazási forgatókönyvre koncentrálunk. A továbbiakban JAR alkalmazásnak fogjuk nevezni.

Ebben az oktatóanyagban először megtudhatjuk, hogyan hozhat létre JAR alkalmazást. Később megtanuljuk, hogyan kell futtasson JAR alkalmazást parancssori argumentumokkal vagy anélkül.

2. Hozzon létre a BEFŐTTES ÜVEG Alkalmazás

A JAR fájl egy vagy több fő osztályt tartalmazhat. Minden fő osztály egy alkalmazás belépési pontja. Tehát elméletileg egy JAR fájl több alkalmazást is tartalmazhat, de futtatásához legalább egy fő osztályt tartalmaznia kell.

Egy JAR fájl egy belépési pontot állíthat be a jegyzékfájljában. Ebben az esetben a JAR fájl egy futtatható JAR. A fő osztályt bele kell foglalni a JAR fájlba.

Először nézzünk meg egy gyors példát arra, hogyan állítsuk össze osztályainkat és hozzunk létre egy futtatható JAR-t egy manifesztfájl segítségével:

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

A nem futtatható JAR egyszerűen egy JAR fájl, amelynek nincs Főosztály meghatározva a jegyzékfájlban. Mint később látni fogjuk, továbbra is futtathatunk egy fő osztályt, amely magában a JAR fájlban található.

Így hozhatnánk létre egy nem futtatható JAR-t manifeszt fájl nélkül:

$ jar cf JarExample2.jar com / baeldung / jarArguments / *. osztály

3. Java parancssori érvek

Csakúgy, mint minden alkalmazás, a JAR alkalmazás is elfogad mindenféle argumentumot, beleértve a nulla argumentumot is. Minden az alkalmazás igényétől függ.

Ez lehetővé teszi a felhasználó számára, hogy adja meg a konfigurációs információkat az alkalmazás indításakor.

Ennek eredményeként az alkalmazás elkerülheti a keményen kódolt értékeket, és még mindig sokféle felhasználási esetet képes kezelni.

Az argumentum tartalmazhat bármilyen alfanumerikus karaktert, unicode karaktert és esetleg néhány speciális karaktert, amelyet a héj engedélyez, például: „@”.

Az érveket egy vagy több szóköz választja el. Ha egy argumentumnak szóközöket kell tartalmaznia, akkor a szóközöket idézőjelek közé kell tenni. Akár egyetlen, akár dupla idézőjelek jól működnek.

Általában egy tipikus Java alkalmazás esetében az alkalmazás meghívásakor a felhasználó parancssori argumentumokat ad meg az osztály neve után.

A JAR alkalmazások esetében azonban ez nem mindig így van.

Amint arról már volt szó, a Java fő osztályának belépési pontja a fő módszer. A érvek mind Húrs és átadják a fő módszernek, mint a Húr sor.

Ez azt jelenti, hogy az alkalmazáson belül átalakíthatjuk a Húr tömb más adattípusokra, például char, int, kettős, azok burkoló osztályok, vagy más megfelelő típusok.

4. Futtasson egy futtatható fájlt BEFŐTTES ÜVEG érvekkel

Nézzük meg a futtatható JAR fájl futtatásának alapvető szintaxisát argumentumokkal:

java -jar jar-fájlnév [args…]

A korábban létrehozott futtatható JAR egy egyszerű alkalmazás, amely csak kinyomtatja az átadott argumentumokat. Bármely argumentummal futtathatjuk. Az alábbiakban két érv található:

$ java -jar JarExample.jar "arg 1" [e-mail védett] 

A következő kimenetet látjuk a konzolon:

Helló Baeldung Reader a JarExample-ban! 2 érv van! Argumentum (1): arg 1 Argumentum (2): [e-mail védett] 

Így, futtatható JAR meghívásakor nem kell megadnunk a fő osztály nevét a parancssorban. Egyszerűen hozzáadjuk az érveinket a JAR fájlnév után. Ha a futtatható JAR fájlnév után megadunk egy osztálynevet, akkor egyszerűen a tényleges főosztály első argumentuma lesz.

Legtöbbször egy JAR alkalmazás futtatható JAR. Egy futtatható JAR legfeljebb egy fő osztályt határozhat meg a jegyzékfájlban.

Következésképpen ugyanabban a futtatható JAR fájlban más alkalmazásokat nem lehet beállítani a jegyzékfájlban, de továbbra is futtathatjuk őket a parancssorból, mint egy nem futtatható JAR esetén. A következő szakaszban pontosan megnézzük, hogyan.

5. Futtasson egy nem futtatható fájlt BEFŐTTES ÜVEG érvekkel

Az alkalmazás futtathatatlan JAR fájlban történő futtatásához használnunk kell -cp opció helyett -befőttes üveg. Használjuk a -cp opció (röviden classpath) annak a JAR fájlnak a megadásához, amely tartalmazza a végrehajtani kívánt osztályfájlt:

java -cp jar-file-name main-class-name [args…]

Amint látod, ebben az esetben be kell építenünk a parancssorba a fő osztály nevét, amelyet argumentumok követnek.

A korábban létrehozott nem futtatható JAR ugyanazt az egyszerű alkalmazást tartalmazza. Bármely (beleértve a nulla) argumentumot is futtathatjuk. Íme egy példa két érvvel:

$ java -cp JarExample2.jar com.baeldung.jarArguments.JarExample "arg 1" [e-mail védett]

És ahogy fentebb láttuk, a következő kimenetet látjuk:

Helló Baeldung Reader a JarExample-ban! 2 érv van! Argumentum (1): arg 1 Argumentum (2): [e-mail védett]

6. Következtetés

Ebben az oktatóanyagban megtanultuk kétféle módon futtatni a JAR alkalmazást a parancssoron argumentumokkal vagy argumentumok nélkül.

Kimutattuk azt is, hogy egy argumentum szóközöket és speciális karaktereket tartalmazhat (ha a héj megengedi).

Mint mindig, a példák kódja elérhető a GitHub oldalon.