Futtasson egy Java fő módszert a Gradle használatával
1. Bemutatkozás
Ebben az oktatóanyagban megvizsgáljuk a Java futtatásának különböző módszereit fő- módszer Gradle segítségével.
2. Java fő- Módszer
Számos módon futtathatunk Java-t fő- módszer Gradle-vel. Nézzük meg őket alaposan egy egyszerű program segítségével, amely üzenetet nyomtat a standard kimenetre:
public class MainClass {public static void main (String [] args) {System.out.println ("Viszlát kegyetlen világ ..."); }}
3. Futtatás az Application Plugin segítségével
Az Application plugin egy alapvető Gradle plugin, amely meghatározza a használatra kész feladatok gyűjteményét, amelyek segítenek alkalmazásunk csomagolásában és terjesztésében.
Kezdjük azzal, hogy beillesztjük a következőket a sajátunkba épít.gradle fájl:
bővítmények {id "application"} plugin alkalmazása: "java" ext {javaMain} alkalmazás {mainClassName = javaMainClass}
A plugin automatikusan létrehoz egy úgynevezett feladatot fuss csak arra van szükség, hogy rámutassunk a fő- osztály. A 9. sor zárása pontosan ezt teszi, ami lehetővé teszi számunkra a feladat kiváltását:
~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew run> Feladat: Run Goodbye kegyetlen világ futtatása ... SIKER ÉPÍTÉSE 531ms-ben 2 kiválasztható feladat: 1 végrehajtva, 1 naprakész
4. Futás a JavaExec Feladat
Ezután hajtsunk végre egy egyéni feladatot a fő- módszer segítségével JavaExec feladat típusa:
feladat runWithJavaExec (típus: JavaExec) {group = "Execution" description = "Futtassa a fő osztályt a JavaExecTask segítségével" classpath = sourceSets.main.runtimeClasspath main = javaMainClass}
Meg kell határoznunk a fő- osztály az 5. vonalon, és ezen felül adja meg az osztályútvonalat. Az osztályút a build kimenet alapértelmezett tulajdonságaiból kerül kiszámításra, és tartalmazza a helyes elérési utat, ahová a lefordított osztály valójában kerül.
Figyeljük meg, hogy minden forgatókönyvben mi használja a teljes minősítésű nevet, beleértve a csomagot is fő- osztály.
Futtassuk a példánkat a JavaExec:
~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithJavaExec> Feladat: runWithJavaExec Viszlát kegyetlen világ ... SIKEREK TELJESÍTÉSE 526 ms-ban 2 kiválasztható feladat: 1 végrehajtva, 1 naprakész
5. Futás a Exec Feladat
Végül végre tudjuk hajtani a sajátunkat fő- osztály az alap használatával Exec feladat típusa. Mivel ez az opció lehetőséget nyújt számunkra a végrehajtás többféle konfigurálására, hajtsunk végre három egyéni feladatot, és egyenként beszéljük meg őket.
5.1. Az összeállított build kimenetből fut
Először hozzunk létre egy egyéni Exec feladat, amely hasonlóan viselkedik JavaExec:
feladat runWithExec (type: Exec) {dependOn build group = "Execution" description = "Futtassa a fő osztályt az ExecTask" parancssorral "java", "-classpath", sourceSets.main.runtimeClasspath.getAsPath (), javaMainClass}
Bármely futtatható fájlt (jelen esetben java) futtathatunk, és megadhatjuk a futtatásához szükséges argumentumokat.
Konfiguráljuk az osztályútvonalat, és rámutatunk a sajátunkra fő- osztály az 5. vonalon, és hozzáadunk egy függőséget is a épít feladat a 2. vonalon. Erre szükség van, mivel csak a mi fő- osztály az összeállítása után:
~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithExec> Feladat: runWithExec Viszlát kegyetlen világ ... SIKER ÉPÍTÉSE 666 ms-ban 6 végrehajtható feladat: 6 végrehajtva
5.2. Futás egy kimeneti edényből
A második megközelítés kis alkalmazásunk üvegcsomagolásán alapul:
task runWithExecJarOnClassPath (type: Exec) {dependOn jar group = "Execution" description = "Futtassa a mainClass-ot a kimeneti jarból az osztályútvonalon az ExecTask paranccsal" commandLine "java", "-classpath", jar.archiveFile.get (), javaMainClass}
Figyelje meg a jar sor függőségét a 2. sorban és a második argumentumot a java futtathatóra az 5. sorban. Normál edényt használunk, ezért meg kell adnunk a belépési pontot a negyedik paraméterrel:
~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithExecJarOnClassPath> Feladat: runWithExecJarOnClassPath Viszlát kegyetlen világ ... BUILD SIKERES 555 ms-ban 3 kivitelezhető feladat: 3 végrehajtva
5.3. Futás egy futtatható kimeneti edényből
A harmadik út az üvegcsomagolásra is támaszkodik, de a belépési pontot az a segítségével definiáljuk nyilvánvaló ingatlan:
jar {manifest {attributes ("Main-Class": javaMainClass)}} feladat runWithExecJarExecutable (type: Exec) {dependOn jar group = "Execution" description = "A kimeneti futtatható jar futtatása ExecTask" commandLine "java", "-jar ", jar.archiveFile.get ()}
Itt, már nem kell megadnunk az osztályútvonalat, és egyszerűen futtathatjuk az üveget:
~ / work / baeldung / tutorials / gradle-java-exec> ./gradlew runWithExecJarExecutable> Feladat: runWithExecJarExecutable Viszlát kegyetlen világ ... SIKER ÉPÍTÉSE 572 ms-ban 3 végrehajtható feladat: 3 végrehajtva
6. Következtetés
Ebben a cikkben a Java futtatásának különféle módjait tártuk fel fő- módszer Gradle segítségével.
A dobozból kiindulva az Application plugin minimálisan konfigurálható feladatot biztosít a módszerünk futtatásához. A JavaExec feladat típusa lehetővé teszi számunkra a fő- módszer anélkül, hogy bármilyen plugint megadna.
Végül az általános Exec a feladat típusa különböző kombinációkban használható a java futtatható fájlokkal ugyanazok az eredmények elérése érdekében, de más feladatoktól függőséget igényel.
Szokás szerint az oktatóanyag forráskódja elérhető a GitHubon.