目的
Spring Boot、Gradle、Intellij IDEAの環境は開発しやすいが実行結果を確認する場合に何度もgradle bootRun
を叩いて再起動する必要がある。
そこでSpring Loadedを導入して一度gradle bootRun
でアプリを起動させることで、ソースの変更結果をgradle bootRun
を何度も叩かず反映させられるようにする。
環境
- Gradle 2.1
- intelliJ IDEA 14
- Spring Boot 1.1.9
- Spring loaded 1.2.1
手順
1. build.gradle作成
以下がテンプレート
build.gradle
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.9.RELEASE")
classpath("org.springframework:springloaded:1.2.1.RELEASE")
}
}
apply plugin: 'idea'
apply plugin: 'spring-boot'
idea {
module {
inheritOutputDirs = false
outputDir = file("$buildDir/classes/main/")
}
}
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile("org.springframework.boot:spring-boot-starter-web:1.1.9.RELEASE")
}
idea
ブロックの設定はIntelliJ IDEAがコンパイルしたファイル群を配置する先をGradleがコンパイルしたファイルを配置する先に合わせるための記述。
2. IntelliJ IDEAの自動コンパイル設定
筆者のIntelliJ IDEAはデフォルトで自動コンパイルとなっていなかった。
(デフォルトでコンパイルされないのか、過去に設定を変えたのか覚えていない…)
自動コンパイルを有効化させる。
自動コンパイル有効化手順
- ⌘.でPreferencesを開く
- Build,Execution,Deployment -> Compiler を開く
- Make project automaticallyをチェック
- Applyをクリック
検索キーワード:Make project automatically
結果
gradle bootRun
でアプリ実行後に変更を加えたソースはブラウザの画面をリロードすることで、ソースの変更結果が反映される。