Web系開発メモ

Java, JavaScript, CSS, HTML などの記事を書いています。

Gradle:Java 実行時にシステムプロパティを渡す

Gradle の run タスクを使うと、Java の Main クラスを実行できます。以前、run タスクでシステムプロパティを渡す方法を調査することがありました。今回は、その方法をまとめていこうと思います。

build.gradle を編集

次のサンプルのように、tasks.with・・・ ブロックを追加します。

apply plugin: 'application'
 
mainClassName = 'sample.Main'

// ... 省略

// 追加
tasks.withType(JavaExec) {
  systemProperties System.properties
}

アプリケーションを起動

次の例のように、gradle コマンドにプロパティ(-Dkey=value)を付けて起動します。

> gradle -Dport=8080 run

これで、Java アプリは渡されたプロパティを取得できます。

参考文献

Gradle Goodness: Pass Java System Properties To Java Tasks