Spustite hlavnú metódu jazyka Java pomocou programu Gradle

1. Úvod

V tomto tutoriále preskúmame rôzne spôsoby vykonávania Java hlavný metóda využívajúca Gradle.

2. Java hlavný Metóda

Existuje niekoľko spôsobov, ako môžeme spustiť Java hlavný metóda s Gradle. Pozrime sa na ne zblízka pomocou jednoduchého programu, ktorý vytlačí správu na štandardný výstup:

public class MainClass {public static void main (String [] args) {System.out.println ("Zbohom krutý svet ..."); }}

3. Beží s doplnkom aplikácie

Doplnok Aplikácia je základný doplnok Gradle, ktorý definuje kolekciu úloh pripravených na použitie, ktoré nám pomáhajú baliť a distribuovať našu aplikáciu.

Začnime vložením nasledujúceho do nášho build.gradle spis:

pluginy {id "application"} použiť plugin: "java" ext {javaMain} aplikácia {mainClassName = javaMainClass}

Plugin automaticky generuje úlohu s názvom bežať to si vyžaduje iba to, aby sme to nasmerovali na hlavný trieda. Uzávierka na riadku 9 robí presne to, čo nám umožňuje spustiť úlohu:

~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew run> Úloha: spustiť Zbohom krutý svet ... STAVTE SA ÚSPEŠNE za 531 ms 2 vykonateľné úlohy: 1 vykonaná, 1 aktuálna

4. Beh s JavaExec Úloha

Ďalej implementujme vlastnú úlohu pre spustenie hlavný metóda pomocou JavaExec typ úlohy:

úloha runWithJavaExec (typ: JavaExec) {group = "Execution" description = "Spustiť hlavnú triedu s JavaExecTask" classpath = sourceSets.main.runtimeClasspath main = javaMainClass}

Musíme definovať hlavný triedy na riadku 5 a navyše určiť triednu cestu. Cesta k triede sa počíta z predvolených vlastností výstupu zostavenia a obsahuje správnu cestu, kde je kompilovaná trieda skutočne umiestnená.

Všimnite si, že v každom scenári my používať úplný názov, vrátane balíka, hlavný trieda.

Ukážme si príklad pomocou JavaExec:

~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithJavaExec> Úloha: runWithJavaExec Zbohom krutý svet ... BUILD SUCCESSFUL za 526ms 2 vykonateľné úlohy: 1 vykonaná, 1 aktuálna

5. Beh s Exec Úloha

Nakoniec môžeme vykonať svoje hlavný triedy pomocou základne Exec typ úlohy. Pretože táto možnosť nám ponúka možnosť konfigurovať vykonávanie viacerými spôsobmi, implementujme tri vlastné úlohy a prediskutujme ich jednotlivo.

5.1. Beží z výstupu zostaveného zostavenia

Najskôr vytvoríme zvyk Exec úloha, ktorá sa správa podobne JavaExec:

task runWithExec (type: Exec) {dependsOn build group = "Execution" description = "Spustiť hlavnú triedu s ExecTask" commandLine "java", "-classpath", sourceSets.main.runtimeClasspath.getAsPath (), javaMainClass}

Môžeme spustiť akýkoľvek spustiteľný súbor (v tomto prípade java) a odovzdať potrebné argumenty na jeho spustenie.

Konfigurujeme cestu ku triede a ukážeme na našu hlavný triedy na riadku 5 a tiež pridáme závislosť na stavať úloha na riadku 2. Je to nevyhnutné, pretože môžeme spustiť iba našu hlavný trieda po jej zostavení:

~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithExec> Úloha: runWithExec Zbohom krutý svet ... BUILD SUCCESSFUL in 666ms 6 žalovateľných úloh: 6 vykonaných 

5.2. Beh z výstupnej nádoby

Druhý prístup sa opiera o balenie pohárov našej malej aplikácie:

task runWithExecJarOnClassPath (type: Exec) {dependsOn jar group = "Execution" description = "Spustiť mainClass z výstupnej nádoby v ceste triedy s ExecTask" commandLine "java", "-classpath", jar.archiveFile.get (), javaMainClass} 

Všimnite si závislosť od úlohy jar na riadku 2 a druhý argument k spustiteľnému súboru Java na riadku 5. Používame normálnu nádobu, takže musíme určiť vstupný bod so štvrtým parametrom:

~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithExecJarOnClassPath> Úloha: runWithExecJarOnClassPath Zbohom krutý svet ... BUILD SUCCESSFUL za 555 ms 3 vykonateľné úlohy: 3 vykonané

5.3. Beh z spustiteľného výstupného pohára

Tretí spôsob sa tiež spolieha na balenie téglikov, ale vstupný bod definujeme pomocou a prejav nehnuteľnosť:

jar {manifest {attributes ("Main-Class": javaMainClass)}} task runWithExecJarExecutable (type: Exec) {dependsOn jar group = "Execution" description = "Spustiť výstupný spustiteľný jar s ExecTask" commandLine "java", "-jar ", jar.archiveFile.get ()} 

Tu, už nemusíme špecifikovať triednu cestua môžeme nádobu jednoducho spustiť:

~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithExecJarExecutable> Úloha: runWithExecJarExecutable Zbohom krutý svet ... BUILD SUCCESSFUL za 572ms 3 vykonateľné úlohy: 3 vykonané

6. Záver

V tomto článku sme preskúmali rôzne spôsoby spustenia Java hlavný metóda využívajúca Gradle.

Po vybalení z krabice poskytuje aplikačný doplnok minimálne konfigurovateľnú úlohu na spustenie našej metódy. The JavaExec typ úlohy nám umožňuje spustiť hlavný metóda bez uvedenia akýchkoľvek doplnkov.

Nakoniec generické Exec typ úlohy možno na dosiahnutie rovnakých výsledkov použiť v rôznych kombináciách so spustiteľným súborom Java, vyžaduje si však závislosť od iných úloh.

Ako obvykle je zdrojový kód tohto tutoriálu k dispozícii na GitHub.


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