最新の安定バージョンについては、Spring Boot 3.5.7 を使用してください! |
Gradle でアプリケーションを実行する
アーカイブを作成せずにアプリケーションを実行するには、bootRun タスクを使用します。
$ ./gradlew bootRunbootRun タスクは、JavaExec サブクラスである BootRun (Javadoc) のインスタンスです。そのため、Gradle で Java プロセスを実行するための通常の構成オプション (英語) はすべて利用可能です。タスクは、メインソースセットのランタイムクラスパスを使用するように自動的に構成されます。
デフォルトでは、メインソースセットの出力で public static void main(String[]) メソッドを持つクラスを探すことによって、メインクラスが自動的に構成されます。
メインクラスは、タスクの main プロパティを使用して明示的に構成することもできます。
Groovy
Kotlin
tasks.named("bootRun") {
mainClass = 'com.example.ExampleApplication'
}tasks.named<BootRun>("bootRun") {
mainClass.set("com.example.ExampleApplication")
} または、Spring Boot DSL の mainClass プロパティを使用して、プロジェクト全体でメインクラス名を設定できます。
Groovy
Kotlin
springBoot {
mainClass = 'com.example.ExampleApplication'
}springBoot {
mainClass.set("com.example.ExampleApplication")
} デフォルトでは、bootRun は JVM を構成して、開発中の起動を高速化するために最適化します。この動作は、次の例に示すように、optimizedLaunch プロパティを使用して無効にすることができます。
Groovy
Kotlin
tasks.named("bootRun") {
optimizedLaunch = false
}tasks.named<BootRun>("bootRun") {
optimizedLaunch.set(false)
}application プラグイン (英語) が適用されている場合は、その mainClass のプロパティが設定されている必要があり、同じ目的で使用することができます。
Groovy
Kotlin
application {
mainClass = 'com.example.ExampleApplication'
}application {
mainClass.set("com.example.ExampleApplication")
}アプリケーションに引数を渡す
すべての JavaExec タスクと同様に、Gradle 4.9 以降を使用する場合は、--args='<arguments>' を使用してコマンドラインから引数を bootRun に渡すことができます。例: dev という名前のプロファイルをアクティブにしてアプリケーションを実行するには、次のコマンドを使用できます。
$ ./gradlew bootRun --args='--spring.profiles.active=dev' 詳細については、JavaExec.setArgsString の javadoc を参照して (英語) ください。
システムプロパティをアプリケーションに渡す
bootRun は標準の JavaExec タスクであるため、ビルドスクリプトで指定することにより、システムプロパティをアプリケーションの JVM に渡すことができます。システムプロパティのその値を構成可能にするには、プロジェクトプロパティ (英語) を使用してその値を設定します。プロジェクトプロパティをオプションにするには、findProperty を使用して参照します。これにより、次の例に示すように、?: エルビス演算子を使用してデフォルト値を提供することもできます。
Groovy
Kotlin
tasks.named("bootRun") {
systemProperty 'com.example.property', findProperty('example') ?: 'default'
}tasks.named<BootRun>("bootRun") {
systemProperty("com.example.property", findProperty("example") ?: "default")
} 上記の例では、その com.example.property システムプロパティを example プロジェクトプロパティの値に設定しています。example プロジェクトプロパティが設定されていない場合、システムプロパティの値は default になります。
Gradle を使用すると、次の例に示すように、-P フラグを使用したコマンドラインなど、さまざまな方法でプロジェクトプロパティを設定できます。
$ ./gradlew bootRun -Pexample=custom 上記の例では、example プロジェクトプロパティの値を custom に設定しています。bootRun は、これを com.example.property システムプロパティの値として使用します。
リソースの再読み込み
devtools がプロジェクトに追加されている場合、変更がないかアプリケーションのクラスパスを自動的に監視します。devtools でリロードをトリガーするには、クラスパスを更新するために変更されたファイルを再コンパイルする必要があることに注意してください。devtools の使用の詳細については、リファレンスドキュメントのこのセクションを参照してください。
アプリケーションの静的リソースがソースの場所から読み込まれるように bootRun を構成することもできます。
Groovy
Kotlin
tasks.named("bootRun") {
sourceResources sourceSets.main
}tasks.named<BootRun>("bootRun") {
sourceResources(sourceSets["main"])
}これにより、開発中に役立つ可能性があるライブアプリケーションに再読み込み可能になります。