Spustite hlavnú metódu Java v programe Maven

1. Prehľad

V tomto krátkom tutoriále sa dozvieme, ako spustiť ľubovoľné hlavné metódy z ktorejkoľvek triedy Java pomocou nástroja Maven.

2. The exec-maven-plugin

Predpokladajme, že máme nasledujúcu triedu:

public class Exec {private static final Logger LOGGER = LoggerFactory.getLogger (Exec.class); public static void main (String [] args) {LOGGER.info ("Spustenie hlavnej metódy"); if (args.length> 0) {LOGGER.info ("Zoznam argumentov: {}", Arrays.toString (args)); }}}

A chceme vykonať jeho hlavnú metódu z príkazového riadku cez Maven.

Na tento účel môžeme použiť exec-maven-plugin. Konkrétnejšie exec: java cieľ z tohto pluginu vykoná dodanú triedu Java so závislosťami priloženého projektu ako cestu k triede.

Vykonať hlavnú metódu Exec triedy, musíme do pluginu odovzdať plne kvalifikovaný názov triedy:

$ mvn compile exec: java -Dexec.mainClass = "com.baeldung.main.Exec" 02: 26: 45.112 INFO com.baeldung.main.Exec - spustenie hlavnej metódy

Ako je uvedené vyššie, používame exec.mainClass vlastnosť systému na odovzdanie úplného názvu triedy.

Pred spustením hlavnej metódy sa tiež musíme ubezpečiť, že je cesta k triedam pripravená. Preto pred vykonaním hlavnej metódy zostavujeme zdrojový kód.

To isté môžeme dosiahnuť obyčajnou java a javac. To však môže byť ťažkopádne, keď pracujeme s dosť veľkou triedou ciest. Naopak,pri použití tohto pluginu sa Maven automaticky postará o vyplnenie cesty triedy.

3. Absolvovanie argumentov

Je tiež možné preniesť argumenty z príkazového riadku do hlavnej metódy. Na tento účel môžeme použiť exec.args vlastnosť systému:

$ mvn compile exec: java -Dexec.mainClass = "com.baeldung.main.Exec" \ -Dexec.args = "Prvá sekunda" 02: 31: 08.235 INFO com.baeldung.main.Exec - Spustenie hlavnej metódy 02: 31: 08.236 INFO com.baeldung.main.Exec - Zoznam argumentov: [prvý, druhý]

Ako je uvedené vyššie, odovzdávame zoznam argumentov oddelených medzerami. Ďalej môžeme použiť zoznam argumentov oddelených čiarkou prostredníctvom vykon.argumenty vlastnosť systému:

$ mvn compile exec: java -Dexec.mainClass = "com.baeldung.main.Exec" \ -Dexec.arguments = "Hello World, Bye" 02: 32: 25,616 INFO com.baeldung.main.Exec - spustenie hlavnej metódy 02: 32: 25.618 INFO com.baeldung.main.Exec - Zoznam argumentov: [Hello World, Bye]

Tieto dve možnosti môžu byť užitočné, keď chceme v samotnom argumente použiť oddeľovač (medzeru alebo čiarku).

4. Vlastná konfigurácia

Môžeme tiež výslovne deklarovať závislosť pluginu v našom pom.xml. Týmto spôsobom môžeme použiť vlastné a predvolené konfigurácie.

Napríklad môžeme v konfigurácii doplnku určiť predvolenú hlavnú triedu:

   org.codehaus.mojo exec-maven-plugin 3.0.0 com.baeldung.main.Exec 

Ak teraz nezadáme úplný názov požadovanej triedy, com.baeldung.main.Exec bude použitý:

$ mvn compile exec: java 02: 33: 14.197 INFO com.baeldung.main.Exec - spustenie hlavnej metódy

Stále je však možné túto predvolenú konfiguráciu prepísať explicitným spôsobom vykon.mainClass systémový majetok.

Okrem toho môžeme v našej konfigurácii určiť aj predvolené argumenty programu:

 com.baeldung.main.Exec prvá sekunda 

Týmto spôsobom nebudeme musieť zadávať tieto argumenty do príkazového riadku:

$ mvn clean compile exec: java 02: 34: 24.448 INFO com.baeldung.main.Exec - Spustenie hlavnej metódy 02: 34: 24.450 INFO com.baeldung.main.Exec - Zoznam argumentov: [prvý, druhý]

Okrem týchto konfigurácií existuje ešte veľa ďalších, ktoré sú obsiahnuté v oficiálnej dokumentácii.

5. Záver

V tomto krátkom článku sme videli, ako spustiť hlavné metódy z príkazového riadku pomocou exec-maven-plugin.

Ako obvykle sú všetky príklady dostupné na GitHub.


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