ゴール
SpringBootの開発において、Gradleコマンドでアプリケーションを立ち上げてるときに
ソースコードを変更したら即座に変更が反映されるようにする。
ターミナル実行にこだわりが無ければ、VSCodeやIntelliJを使うとスムーズにホットリロードできる。
参考:📄IntelliJ IDEA CEでSpringBootのホットリロードを設定する
事前準備
spring-boot-devtoolsを入れる。
参考:開発者ツール :: Spring Boot - リファレンスドキュメント
dependencies {
developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
以下の設定はやってもやらなくても良い。(デフォルトでtrueのため)
spring.devtools.restart.enabled=true
ターミナルでコマンドを実行する
ターミナルを2つに分割し、それぞれコマンドを実行する。
(2つの実行コマンドが必要なのが面倒な点)
ターミナル①
継続的にビルドをし続けるオプション --continuous
を付与してビルドを実行する。
./gradlew build --continuous
-t, --continuous Enables continuous build. Gradle does not exit and will re-execute tasks when task file inputs change.
ターミナル②
アプリケーションの起動コマンドを実行する。
./gradlew bootRun
これで、buildタスクがソースコードの変更を検知して更新してくれる。