Spring Boot 三 熱部署 devtools

沒事偷著樂琅發表於2017-11-03

Sprint-boot-devtools 是一個為開發者服務的一個模組,其中最重要的功能就是熱部署。

其原理是使用了兩個ClassLoader,一個Classloader載入那些不會改變的類(第三方Jar包),另一個ClassLoader載入會更改的類,稱為 restart ClassLoader

工作方式,ClassLoader檢測 應用的 class檔案 如果有改變就會重新載入這些改變的 class檔案,從而實現快速熱部署。

實際應用:
1、在 pom.xml 中加入 devtools:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>

就完成了熱部署:
注意如果 開發工具 沒有開啟 自動編譯功能,依然無法完成熱部署,因為 devtools 工具不能完成編譯工作,他只能監測 class 檔案的變化。
或者 自己手動 build project。

intellij 手動編譯方式:
工具欄: build → build project。(ctrl + F9)

相關文章