Javaなどソースの変更をいちいちコンパイルをして確認する場合、
毎回コンパイルを手動でするのは面倒ですよね。
(慣れている人は何も感じないかもしれませんがw)
Spring Bootでは自動でコンパイルをしてくれるツールがあるので、
少しは開発効率を上げることができます。
それを行うためには、Spring Boot Devtoolsというものを入れる必要があり、
pom.xmlに依存関係を追加すれば完了です。
pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
Mavenの再読み込みすることを忘れないでください!
Java側で自動再起動は不要だが、
Thymeleafは変更をした場合に再起動なしですぐに確認したいという場合、
Thymeleafのキャッシュを無効にすることができます。
その場合は以下の設定をapplication.ymlに追加してください。
application.yml
spring: thymeleaf: cache: false
ただしこの設定はspring-boot-devtoolsを使うのであれば不要です。
自動でcacheを無効にしてくれるので。
基本的にはこれでコンパイルの自動化ができるはずなんですが、
Intellijを使用している方は追加で設定が必要です。
以下のページが参考になるのですが、追加で以下の手順を踏んでください。
「Preferences->Build, Execution, Deployment->Compiler」と進み、
「Build project automatically」にチェックを入れてください。
次にWindowsの方は「ctrl」+「shift」+「A」、Macの方は「command」+「shift」+「A」を同時に押すと
以下のような入力欄が出て来るので、
「Registry」と入力してください。
すると以下の画面が出てきますので、
「compiler.automake.allow.when.app.running」にチェックを入れて
Intellijを再起動すれば設定完了です。
何か適当にJava側のコードを書き換えて再コンパイルされることを確認してください。
上手くいくと以下のように起動ログが連なっていきます。
Thymeleafはコンパイルをしなくても変更が反映されるので、
Thymeleafを変更しても自動でコンパイルはされません。