spring boot 熱部署devtools實現

1.devtoolscss

  spring爲開發者提供了一個名爲spring-boot-devtools的模塊來使Spring Boot應用支持熱部署,提升開發者的開發效率,無需手動重啓Spring Boot應用。html

2.項目搭建java

  本文是採用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等都會觸發頁面自動刷新。spring

3.livereloadchrome

  livereload 經過引入的腳本livereload.js在 livereload 服務和瀏覽器之間創建了一個 WebSocket 鏈接。每當監測到文件的變更,livereload 服務就會向瀏覽器發送一個信號,瀏覽器收到信號後就刷新頁面,實現了實時刷新的效果。每次啓動時,須要點擊對應的圖標,以下圖所示。瀏覽器

4.項目代碼配置服務器

(1)pom.xml配置文件app

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <optional>true</optional>
</dependency>
<plugin>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-maven-plugin</artifactId>
   <configuration>
      <fork>true</fork> <!-- 若是沒有該配置,devtools不會生效 -->
   </configuration>
</plugin>

(2)yml配置maven

devtools:
  livereload:
    enabled: true #是否支持livereload
    port: 35729
  restart:
    enabled: true #是否支持熱部署

5.IDEA配置spring-boot

(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,瀏覽器會自動刷新,顯示最新的修改內容。

相關文章
相關標籤/搜索