Spring boot IntelliJ ホットリロード設定

もともとEclipseで作成されていたSpring Boot で作成されたGradleプロジェクトにて.IntelliJで開いたときにホットリロードが効かなかったり, GradleタスクのbootRunからでないとthymeleafのhtml変更が反映されなかったりしたのでメモ.


IntelliJ環境設定

> ビルド,実行,デプロイ > コンパイラー 
・自動的にプロジェクトをビルドするにチェック

application.properties にて

#Intellij で gradle の bootRun タスクから起動してもコンソールに色がつく
spring.output.ansi.enabled=ALWAYS 
#thymeleafテンプレートの位置を明示
spring.thymeleaf.prefix=file:src/main/resources/templates/

build.gradle にて


apply plugin: 'idea'
idea {
  module {
    inheritOutputDirs = false
    outputDir = file("$buildDir/classes/java/main/")
  }
}

dependencies {
  //ホットデプロイ用
  runtime 'org.springframework.boot:spring-boot-devtools'

参考
https://attacomsian.com/blog/spring-boot-auto-reload-thymeleaf-templates