spring boot 熱部署devtools實現
1.devtools
spring為開發者提供了一個名為spring-boot-devtools的模組來使Spring Boot應用支援熱部署,提高開發者的開發效率,無需手動重啟Spring Boot應用。
2.專案搭建
本文是採用IDEA搭建的Spring Boot應用,通過spring-boot-devtools配置,可以支援修改java檔案會自動重啟程式,一些資源無需觸發重啟,例如thymeleaf模板檔案就可以實時編輯。預設情況下,更改/META-INF/maven,/META-INF/resources ,/resources ,/static ,/public 或/templates下的資源不會觸發重啟,而是觸發livereload。devtools模組包含一個嵌入的livereload伺服器,可以在資源變化時用來觸發瀏覽器重新整理。瀏覽器需要在livereload.com下載安裝擴充套件。 例如Chrome瀏覽器在應用商店安裝livereload外掛後,在要自動重新整理的頁面點選對應的圖示,啟動應用後更新頁面內容或者css等都會觸發頁面自動重新整理。
3.livereload
livereload 通過引入的指令碼livereload.js在 livereload 服務和瀏覽器之間建立了一個 WebSocket 連線。每當監測到檔案的變動,livereload 服務就會向瀏覽器傳送一個訊號,瀏覽器收到訊號後就重新整理頁面,實現了實時重新整理的效果。每次啟動時,需要點選對應的圖示,如下圖所示。
4.專案程式碼配置
(1)pom.xml配置檔案
1 2 3 4 5 6 7 8 9 10 11 12 |
groupId >org.springframework.boot</ groupId >
< artifactId >spring-boot-maven-plugin</ artifactId >
|
(2)yml配置
1 2 3 4 5 6 |
|
5.IDEA配置
(1)File-Settings-Compiler-Build project automatically
(2)ctrl + shift + alt + /,選擇Registry,勾上 Compiler autoMake allow when app running
6.安裝livereload外掛
下載livereload外掛,將其安裝到chrome擴充套件程式中,並選中允許訪問檔案網址。
7.測試
(1)修改類 應用會重啟
(2)修改配置檔案 應用會重啟
(3)修改靜態檔案(html、css等),應用不會重啟,但是會呼叫livereload,瀏覽器會自動重新整理,顯示最新的修改內容。
SpringBoot專案外部tomcat部署 :https://www.cnblogs.com/TechSnail/p/7237283.html