Pokrenite glavnu Java metodu pomoću Gradle-a

1. Uvod

U ovom uputstvu istražit ćemo različite metode izvršavanja Jave glavni metoda pomoću Gradlea.

2. Java glavni Metoda

Postoji nekoliko načina na koje možemo pokrenuti Javu glavni metoda s Gradleom. Pogledajmo ih pažljivo pomoću jednostavnog programa koji ispisuje poruku na standardni izlaz:

javna klasa MainClass {public static void main (String [] args) {System.out.println ("Zbogom okrutni svijet ..."); }}

3. Pokretanje s programskim dodatkom

Dodatak za aplikacije osnovni je dodatak Gradle koji definira zbirku zadataka spremnih za upotrebu koji nam pomažu u pakiranju i distribuciji naše aplikacije.

Krenimo umetanjem sljedećeg u naš graditi.gradle datoteka:

dodaci {id "application"} primijeniti dodatak: "java" ext {javaMain} aplikacija {mainClassName = javaMainClass}

Dodatak automatski generira zadatak koji se naziva trčanje to samo zahtijeva da ga usmjerimo na glavni razred. Zatvaranje na liniji 9 čini upravo to, što nam omogućuje pokretanje zadatka:

~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew run> Zadatak: trčanje Zbogom okrutni svijet ... IZGRADITI USPJEŠNO u 531ms 2 izvršna zadatka: 1 izvršen, 1 ažuriran

4. Trčanje s JavaExec Zadatak

Dalje, provedimo prilagođeni zadatak za pokretanje glavni metoda uz pomoć JavaExec vrsta zadatka:

zadatak runWithJavaExec (tip: JavaExec) {group = "Execution" description = "Pokreni glavnu klasu s JavaExecTask" classpath = sourceSets.main.runtimeClasspath main = javaMainClass}

Moramo definirati glavni razred na retku 5 i, dodatno, navedite put do klase. Put do klase izračunava se prema zadanim svojstvima izlaza gradnje i sadrži ispravnu putanju gdje je zapravo smještena kompilirana klasa.

Primijetite da u svakom scenariju mi koristite potpuno kvalificirano ime, uključujući paket, glavni razred.

Pokrenimo naš primjer koristeći JavaExec:

~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithJavaExec> Zadatak: runWithJavaExec Zbogom okrutni svijet ... IZGRADITI USPJEŠNO za 526ms 2 zadaća koja se mogu izvršiti: 1 izvršen, 1 ažuriran

5. Trčanje s Izv Zadatak

Napokon, možemo izvršiti svoj glavni razred pomoću baze Izv tip zadatka. Budući da nam ova opcija nudi mogućnost konfiguriranja izvršavanja na više načina, implementirajmo tri prilagođena zadatka i raspravimo ih pojedinačno.

5.1. Pokretanje od sastavljenog rezultata gradnje

Prvo stvorimo običaj Izv zadatak koji se ponaša slično kao JavaExec:

zadatak runWithExec (tip: Exec) {dependOn build group = "Execution" description = "Pokreni glavnu klasu s ExecTask" commandLine "java", "-classpath", sourceSets.main.runtimeClasspath.getAsPath (), javaMainClass}

Možemo pokrenuti bilo koju izvršnu datoteku (u ovom slučaju java) i proslijediti potrebne argumente za njeno pokretanje.

Konfiguriramo put predavanja i ukazujemo na naš glavni klase na liniji 5, a također dodajemo ovisnost o izgraditi zadatak na liniji 2. To je neophodno, jer možemo pokrenuti samo svoj glavni razred nakon što je sastavljen:

~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithExec> Zadatak: runWithExec Zbogom okrutni svijet ... IZGRADITI USPJEŠNO u 666ms 6 izvršnih zadataka: 6 izvršeno 

5.2. Trčanje iz izlazne posude

Drugi se pristup oslanja na pakiranje staklenki naše male aplikacije:

zadatak runWithExecJarOnClassPath (vrsta: Exec) {dependOn jar group = "Izvršenje" description = "Pokreni mainClass iz izlaznog jar-a u putu puta s ExecTask" commandLine "java", "-classpath", jar.archiveFile.get (), javaMainClass} 

Primijetite ovisnost o jar zadatku u retku 2 i drugi argument o izvršnoj datoteci Java u retku 5. Koristimo normalnu jar, pa moramo odrediti ulaznu točku s četvrtim parametrom:

~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithExecJarOnClassPath> Zadatak: runWithExecJarOnClassPath Zbogom okrutni svijet ... IZGRADITI USPJEŠNO u 555ms 3 izvršna zadatka: 3 izvršena

5.3. Izvodi se iz izvršne izlazne staklenke

Treći se način također oslanja na ambalažu staklenke, ali ulaznu točku definiramo uz pomoć a očitovati svojstvo:

jar {manifest {attributes ("Main-Class": javaMainClass)}} zadatak runWithExecJarExecutable (type: Exec) {dependOn jar group = "Execution" description = "Pokreni izlazni izvršni jar s ExecTask" commandLine "java", "-jar ", jar.archiveFile.get ()} 

Ovdje, više ne trebamo navesti put predavanja, a možemo jednostavno pokrenuti jar:

~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithExecJarExecutable> Zadatak: runWithExecJarExecutable Zbogom okrutni svijet ... IZGRADITI USPJEŠNO u 572ms 3 izvršna zadatka: 3 izvršena

6. Zaključak

U ovom smo članku istražili različite načine pokretanja Jave glavni metoda pomoću Gradlea.

Dodatak programa pruža minimalno podesiv zadatak za pokretanje naše metode. The JavaExec vrsta zadatka omogućuje nam pokretanje glavni metoda bez navođenja dodataka.

Konačno, generički Izv tip zadatka može se koristiti u raznim kombinacijama s izvršnom datotekom Java za postizanje istih rezultata, ali zahtijeva ovisnost o drugim zadacima.

Kao i obično, izvorni kod za ovu lekciju dostupan je na GitHubu.


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