因為Spring Boot的項目一般會打包成jar發布, 在開發階段debug時, 不能像傳統的web項目那樣, 選擇exploded resources進行debug, 也沒有熱更新按鈕, 如果每次一點小改動都要重啟項目的話, 會造成極大的時間開銷. 以下說明如何在IDEA 14.1.1 里面debug Spring Boot項目時進行熱部署(hot deployment). 在開發中不涉及到class meta data變化的改動, 以及靜態資源文件改動, 都可以熱部署更新.
Spring Boot配置修改
Freemarker的cache要設為false
Debug運行時配置
1. + Application, 選擇Main class為項目入口Application; VM Option可以加上-Dfile.encoding=UTF-8, 不加也沒問題; Program arguments可以加上 --debug, 也可以不加; Use classpath of module就是默認本模塊, 重點是下面的make 任務部分, 添加Run Maven Goal, Command Line輸入 clean compile -e, 把這個放到默認的Make前面.
2. 項目啟動正常debug后, 修改一些資源文件或java class, 按Build -> Make Module 'xxx', 或者直接 Make Project 就能替換運行時資源. 會彈出提示文件有變化是否需要重新載入, 按確定即可.
不需要勾選Settings->Build, Execution, Deployment->Compiler-> Make project automatically
不需要導入spring-boot-devtools依賴