Parancssori érvek Java-ban

1. Bemutatkozás

Elég gyakori, hogy argumentumokat használva futtatják az alkalmazásokat a parancssorból. Különösen a szerver oldalon. Általában nem akarjuk, hogy az alkalmazás minden futásnál ugyanazt tegye: valamilyen módon konfigurálni akarjuk a viselkedését.

Ebben a rövid bemutatóban azt vizsgáljuk, hogyan kezelhetjük a parancssori argumentumokat a Java-ban.

2. Hozzáférés a parancssori argumentumokhoz Java-ban

Mivel a fő- metódus egy Java alkalmazás belépési pontja, a JVM átadja a parancssori argumentumokat az argumentumain keresztül.

A hagyományos módszer a Húr sor:

public static void main (String [] args) {// argumentumok kezelése}

A Java 5 azonban bevezette a varargokat, amelyek bárányruhában található tömbök. Ezért meghatározhatjuk a sajátunkat fő- val,-vel Húr vararg:

public static void main (String ... args) {// argumentumok kezelése}

Egyformák, ezért a köztük való választás teljes mértékben a személyes ízlés és preferencia függvénye.

A metódus paramétere fő- A metódus a parancssori argumentumokat ugyanabban a sorrendben tartalmazza, amelyet a végrehajtáskor adtunk át. Ha hozzá akarunk férni ahhoz, hogy mennyi érvet kaptunk, akkor csak a hossz a tömb.

Például kinyomtathatjuk az argumentumok számát és értékét a standard kimenetre:

public static void main (String [] args) {System.out.println ("Argumentum:" + args.hossz); mert (int i = 0; i <args.hossz; i ++) {System.out.println ("Argumentum" + i + ":" + args [i]); }}

Vegye figyelembe, hogy egyes nyelveken az első argumentum az alkalmazás neve lesz. Másrészt Java-ban ez a tömb csak az argumentumokat tartalmazza.

3. Hogyan adjuk át a parancssori érveket

Most, hogy van egy alkalmazásunk, amely kezeli a parancssori argumentumokat, szívesen kipróbálnánk. Lássuk, milyen lehetőségeink vannak.

3.1. Parancs sor

A legnyilvánvalóbb módszer a parancssor. Tegyük fel, hogy már összeállítottuk az osztályt com.baeldung.commandlinearguments.CliExample velünk fő- módszer benne.

Ezután a következő paranccsal futtathatjuk:

java com.baeldung.commandlinearguments.CliExample

A következő kimenetet produkálja:

Érvek száma: 0

Most argumentumokat adhatunk át az osztály neve után:

java com.baeldung.commandlinearguments.CliExample Hello World!

És a kimenet:

Érvek száma: 2 Érv 0: Helló 1. érv: Világ!

Általában jar fájlként, nem pedig csomóként adjuk ki az alkalmazásunkat .osztály fájlokat. Mondjuk, becsomagoltuk a cli-példa.jar, és beállítottuk com.baeldung.commandlinearguments.CliExample mint főosztály.

Most argumentumok nélkül a következő módon futtathatjuk:

java -jar cli-example.jar

Vagy érvekkel:

java -jar cli-example.jar Hello World! Érvek száma: 2 Érv 0: Helló 1. érv: Világ!

Vegye figyelembe, hogy A Java minden argumentumot, amelyet az osztálynév vagy a jar fájlnév után adunk át, az alkalmazásunk argumentumaként kezeli. Ezért minden, amit előtte átadunk, érvelés maga a JVM mellett.

3.2. Fogyatkozás

Amíg az alkalmazásunkon dolgozunk, ellenőrizni szeretnénk, hogy a kívánt módon működik-e.

Az Eclipse alkalmazásban futtatási konfigurációk segítségével futtathatunk alkalmazásokat. Például egy futtatási konfiguráció meghatározza, hogy melyik JVM-et használja, mi a belépési pont, az osztályút és így tovább. És természetesen megadhatunk parancssori argumentumokat is.

Megfelelő futtatási konfiguráció létrehozásának legegyszerűbb módja, ha a jobb gombbal rákattint a sajátra fő- módszert, majd válassza a lehetőséget Futtassa a> Java alkalmazást a helyi menüből:

Ezzel azonnal futtatjuk alkalmazásunkat olyan beállításokkal, amelyek tiszteletben tartják a projektbeállításainkat.

Argumentumok megadásához ezt követően módosítanunk kell a futási konfigurációt. Megtehetjük a Futtatás> Konfigurációk futtatása… menüpontot. Itt kattintson a gombra Érvek fülre, és töltse ki a Program argumentumok szövegdoboz:

Ütés Fuss futtatja az alkalmazást, és átadja az imént beírt argumentumokat.

3.3. IntelliJ

Az IntelliJ hasonló folyamatot használ az alkalmazások futtatásához. Ezeket az opciókat egyszerűen konfigurációként hívja.

Először jobb gombbal kell kattintanunk a fő- módszert, majd válassza a lehetőséget Futtassa a ’CliExample.main ()’ parancsot:

Ez futtatja a programunkat, de hozzáadja a Fuss lista a további konfiguráláshoz.

Tehát az argumentumok konfigurálásához választanunk kell Futtatás> Konfigurációk szerkesztése… és szerkessze a Program argumentumok szövegdoboz:

Ezt követően meg kell nyomnunk az OK gombot, és újra kell futtatnunk az alkalmazásunkat, például az eszköztár futtatásával.

3.4. NetBeans

A NetBeans a futási és konfigurációs folyamataival is összhangban van.

Először futtatnunk kell az alkalmazást a jobb egérgombbal a fő- módszer és választás Fájl futtatása:

A korábbiakhoz hasonlóan ez is létrehoz egy futtatási konfigurációt és futtatja a programot.

Ezután konfigurálnunk kell az argumentumokat abban a futtatási konfigurációban. Megtehetjük, ha választunk Futtatás> Projektkonfiguráció beállítása> Testreszabás… Akkor kellene Fuss balra, és töltse ki a Érvek szövegmező:

Ezt követően meg kell nyomnunk az OK gombot és el kell indítanunk az alkalmazást.

4. Harmadik fél könyvtárai

A parancssori argumentumok kézi kezelése egyszerű az egyszerű esetekben. Amint azonban követelményeink egyre bonyolultabbá válnak, a kódunk is változik. Ezért, ha több parancssori opcióval rendelkező alkalmazást szeretnénk létrehozni, könnyebb lenne egy harmadik fél könyvtárát használni.

Szerencsére rengeteg olyan könyvtár található, amelyek támogatják a legtöbb használati esetet. Két népszerű példa a Picocli és a Spring Shell.

5. Következtetés

Mindig célszerű konfigurálni az alkalmazás viselkedését. Ebben a cikkben láttuk, hogyan lehet ezt végrehajtani parancssori argumentumokkal. Ezen túlmenően az érvek átadásának különböző módjait ismertettük.

Szokás szerint a példák elérhetők a GitHub oldalon.