1. ホーム
  2. java

[解決済み] Gradleタスク - Javaアプリケーションに引数を渡す

2022-05-11 14:33:05

質問

私はカスタムgradleタスクで実行されるJavaアプリケーションを持っており、アプリケーションが呼び出されたときにいくつかの引数を必要とします。これらは次のとおりです。

programName ( string | -f filename | -d key | -h)
Options:
    string         Message to be used.
    -d key         Use default messages, key must be s[hort], m[edium] or l[ong].
    -f filename    Use specified file as input.
    -h             Help dialog.

Gradleのタスクはこんな感じです。

task run (type: JavaExec){
    description = "Secure algorythm testing"
    main = 'main.Test'
    classpath = sourceSets.main.runtimeClasspath
}

を実行してみました。 gradle run -h を実行してみましたが、うまくいきません。

どのように解決するのですか?

Gradle 4.9以降、コマンドライン引数を--argsで渡すことができるようになりました。例えば、コマンドライン引数でアプリケーションを起動したい場合 foo --bar という引数でアプリケーションを起動したい場合、次のように記述します。

gradle run --args='foo --bar' とします。

参照 Gradleアプリケーションプラグイン

Gradleラッパーのアップグレード方法