springboot自帶了devtools依賴包提供熱部署功能,在eclipse中只要在項目的pom.xml文件中添加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
devtools的依賴。就可以起到熱部署的效果,但是在idea中不行,因爲eclipse中每次保存都會自動編譯,而且如果運行時代碼沒有改變就不會再次編譯,而idea每次都需要編譯。
在一次實現idea的springboot項目實現熱部署的功能過程中,按照網上的說法,將file->setting->Build,Excepiler,Deploment的compiler中的Build project automationally選項勾選。
然後ctrl+shift+atl+/快捷鍵,選擇registry
將compiler.automake.allow.when.app.running 選項勾選,一般這個選項就是第一個選項。
網上的說法一般到這一步就成功了,但是在進行測試之後發現不行,熱部署還是沒有效果。研究後發現是devtools需要配置掃描的路徑,在application.properties中加入配置spring.devtools.restart.additional-paths=src/main/*
= 號後面是你需要配置的路徑。如果是yml形式的配置文件可以自行改寫成yml的寫法,如此熱部署配置成功。