Argumenti naredbenog retka u Javi

1. Uvod

Uobičajeno je pokretanje aplikacija iz naredbenog retka pomoću argumenata. Pogotovo na strani poslužitelja. Obično ne želimo da aplikacija radi istu stvar na svakom izvođenju: želimo na neki način konfigurirati svoje ponašanje.

U ovom kratkom vodiču istražit ćemo kako možemo obraditi argumente naredbenog retka u Javi.

2. Pristup argumentima naredbenog retka na Javi

Budući da je glavni metoda je ulazna točka Java aplikacije, JVM prolazi argumente naredbenog retka kroz svoje argumente.

Tradicionalni način je korištenje a Niz niz:

javna statička void glavna (String [] args) {// obrađivati ​​argumente}

Međutim, Java 5 je uvela vararge, koji su nizovi u ovčjoj odjeći. Stoga možemo definirati svoje glavni s Niz vararg:

javna statička void glavna (String ... args) {// obrađivati ​​argumente}

Oni su identični, stoga je odabir između njih u potpunosti na osobnom ukusu i preferencijama.

Parametar metode glavni metoda sadrži argumente naredbenog retka istim redoslijedom koji smo proslijedili prilikom izvršavanja. Ako želimo pristupiti koliko smo argumenata dobili, samo moramo provjeriti duljina niza.

Na primjer, možemo ispisati broj argumenata i njihovu vrijednost na standardnom izlazu:

javna statička void glavna (String [] args) {System.out.println ("Argument count:" + args.length); for (int i = 0; i <args.length; i ++) {System.out.println ("Argument" + i + ":" + args [i]); }}

Imajte na umu da će u nekim jezicima prvi argument biti ime aplikacije. S druge strane, u Javi ovaj niz sadrži samo argumente.

3. Kako proslijediti argumente naredbenog retka

Sad kad imamo aplikaciju koja obrađuje argumente naredbenog retka, željni bismo je isprobati. Da vidimo koje mogućnosti imamo.

3.1. Naredbeni redak

Najočitiji način je naredbeni redak. Pretpostavimo da smo već sastavili razred com.baeldung.commandlinearguments.CliExample s našim glavni metoda u njemu.

Tada ga možemo pokrenuti sljedećom naredbom:

java com.baeldung.commandlinearguments.CliExample

Daje sljedeći izlaz:

Broj argumenata: 0

Sada možemo proslijediti argumente nakon naziva klase:

java com.baeldung.commandlinearguments.CliExample Pozdrav svijetu!

A izlaz je:

Broj argumenata: 2 Argument 0: Pozdrav Argument 1: Svijet!

Obično svoju aplikaciju objavljujemo kao jar datoteku, a ne kao hrpu .razred datoteke. Recimo, zapakirali smo ga u cli-primjer.jar, i postavili smo com.baeldung.commandlinearguments.CliExample kao glavna klasa.

Sada ga možemo pokrenuti bez argumenata na sljedeći način:

java -jar cli-primjer.jar

Ili s argumentima:

java -jar cli-example.jar Pozdrav svijetu! Broj argumenata: 2 Argument 0: Pozdrav Argument 1: Svijet!

Imajte na umu, to Java će svaki argument koji proslijedimo nakon naziva klase ili naziva datoteke jar tretirati kao argumente naše aplikacije. Stoga su sve što prije prođemo argumenti za sam JVM.

3.2. Zasjeniti

Dok radimo na našoj aplikaciji, htjet ćemo provjeriti radi li onako kako mi želimo.

U Eclipseu možemo pokretati programe uz pomoć konfiguracija pokretanja. Na primjer, konfiguracija pokretanja definira koji će JVM koristiti, što je ulazna točka, put klase itd. I naravno, možemo odrediti argumente naredbenog retka.

Najlakši način za stvaranje odgovarajuće konfiguracije pokretanja je desni klik na našu glavni metodu, a zatim odaberite Pokreni kao> Java program iz kontekstnog izbornika:

Ovim odmah pokrećemo našu aplikaciju s postavkama koje poštuju postavke našeg projekta.

Da bismo pružili argumente, trebali bismo zatim urediti tu konfiguraciju pokretanja. To možemo putem Pokreni> Pokreni konfiguracije ... opcija izbornika. Ovdje bismo trebali kliknuti na Argumenti i ispunite Argumenti programa okvir za tekst:

Udaranje Trčanje pokrenut će aplikaciju i proslijediti argumente koje smo upravo unijeli.

3.3. IntelliJ

IntelliJ koristi sličan postupak za pokretanje aplikacija. Te opcije naziva jednostavno kao konfiguracije.

Prvo moramo kliknuti desnom tipkom miša na glavni metodu, a zatim odaberite Pokrenite 'CliExample.main ()':

Ovo će pokrenuti naš program, ali će ga također dodati u Trčanje popis za daljnju konfiguraciju.

Dakle, da bismo konfigurirali argumente, trebali bismo odabrati Pokreni> Uredi konfiguracije ... i uredite Argumenti programa okvir za tekst:

Nakon toga trebali bismo pritisnuti OK i ponovno pokrenuti našu aplikaciju, na primjer gumbom za pokretanje na alatnoj traci.

3.4. NetBeans

NetBeans također se podudara sa svojim aktivnim i konfiguracijskim procesima.

Prvo bismo trebali pokrenuti aplikaciju desnim klikom na glavni metoda i odabir Pokreni datoteku:

Kao i prije, ovo stvara konfiguraciju pokretanja i pokreće program.

Dalje, moramo konfigurirati argumente u toj konfiguraciji pokretanja. To možemo učiniti odabirom Pokreni> Postavi konfiguraciju projekta> Prilagodi ... Onda bismo trebali Trčanje s lijeve strane i popunite polje Argumenti polje za tekst:

Nakon toga bismo trebali pritisnuti OK i pokrenuti aplikaciju.

4. Knjižnice trećih strana

Ručno rukovanje argumentima naredbenog retka jednostavno je u jednostavnim scenarijima. Međutim, kako naši zahtjevi postaju sve složeniji, tako postaje i naš kod. Stoga, ako želimo stvoriti aplikaciju s više opcija naredbenog retka, bilo bi lakše koristiti biblioteku treće strane.

Srećom, postoji mnoštvo onih knjižnica koje podržavaju većinu slučajeva korištenja. Dva su popularna primjera Picocli i Spring Shell.

5. Zaključak

Uvijek je dobra ideja učiniti ponašanje vaše aplikacije prilagodljivim. U ovom smo članku vidjeli kako to učiniti pomoću argumenata naredbenog retka. Osim toga, pokrivali smo razne načine za prenošenje tih argumenata.

Kao i obično, primjeri su dostupni na GitHubu.