Ein Beispiel für die Angabe von drei Argumenten für aaa bbb ccc.
$ gradle run --args="aaa bbb ccc"
Since Gradle 4.9, the command line arguments can be passed with --args. For example, if you want to launch the application with command line arguments foo --bar, you can use gradle run --args="foo --bar" (see JavaExec.setArgsString(java.lang.String).
Bestätigt für die Arbeit mit OpenJDK 11.0.2 und Gradle 5.6.2.
Bereiten Sie build.gradle und App.java für die Ausführung vor.
$ tree
.
├── build.gradle
└── src
└── main
└── java
└── com
└── example
└── App.java
build.gradle-Datei.
build.gradle
plugins {
id 'java'
id 'application'
}
repositories {
mavenCentral()
jcenter()
}
application {
mainClassName = 'com.example.App'
}
App.java-Datei.
package com.example;
public class App {
public static void main(String[] args) {
System.out.println("args.length=" + args.length);
for(String arg: args) {
System.out.println(arg);
}
}
}
Führen Sie gradle run ohne Argumente aus.
$ gradle run
> Task :run
args.length=0
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 executed
Führen Sie gradle run mit Argumenten aus.
$ gradle run --args="aaa bbb ccc"
> Task :run
args.length=3
aaa
bbb
ccc
BUILD SUCCESSFUL in 1s
2 actionable tasks: 1 executed, 1 up-to-date
Fügen Sie den Prozess hinzu, wenn die Ausführungsaufgabe zu build.gradle ausgeführt wird.
build.gradle
run {
//Übergeben Sie die Eigenschaft args an args der ausgeführten Task, falls vorhanden
if (project.hasProperty('args')) {
//Teilen und übergeben Sie mit Leerzeichen halber Breite
args(project.args.split('\\s+'))
}
}
Wenn Sie beim Ausführen von gradle run die Eigenschaft args angeben, wird sie als Argument an die Java-Anwendung übergeben.
$ gradle run -Pargs="aaa bbb ccc"
> Task :run
args.length=3
aaa
bbb
ccc
BUILD SUCCESSFUL in 1s
2 actionable tasks: 1 executed, 1 up-to-date
Recommended Posts