SpringBoot專案在IntelliJ IDEA中實現熱部署

java_lover發表於2019-02-15

實際開發過程中,經常會修改程式碼重啟應用,每次手動重啟既麻煩開發效率又低,所以熱部署對於開發來說顯得十分必要,本文將介紹如何在IntelliJ IDEA(版本2018.2.5)中實現SpringBoot專案熱部署。

本文使用spring-boot-devtools實現的熱部署,按照下面兩個步驟操作完成即可。

1. 修改pom.xml

spring-boot-devtools是一個為開發者服務的一個模組,其中最重要的功能就是熱部署。原理是在發現程式碼有更改之後,重新啟動應用,但是速度比手動停止後再啟動更快。其深層原理是使用了兩個ClassLoader,一個Classloader載入那些不會改變的類(第三方Jar包),另一個ClassLoader載入會更改的類,稱為restart ClassLoader,這樣在有程式碼更改的時候,原來的restart ClassLoader被丟棄,重新建立一個restart ClassLoader,由於需要載入的類相比較少,所以實現了較快的重啟時間。即devtools會監聽classpath下的檔案變動,並且會立即重啟應用(發生在儲存時機)

配置spring-boot-devtools後具體pom.xml檔案內容如下:

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

<!-- 引入熱部署jar包 -->

org.springframework.boot

spring-boot-devtools

<!-- optional=true,依賴不會傳遞,該專案依賴devtools;之後依賴該專案的專案如果想要使用devtools,需要重新引入 -->

true

<!-- 引入熱部署依賴外掛 -->

org.springframework.boot

spring-boot-maven-plugin

<!-- IntelliJ IDEA本地測試去掉fork也生效 -->

true

2. 開啟idea自動編譯及automake功能

(1). Settings --> Compile --> Build project automatically --> 勾選


 

idea設定自動編譯截圖

(2). CTRL + SHIFT + ALT + / --> 查詢Registry --> 找到並勾選compiler.automake.allow.when.app.running


 

idea設定compile.automake截圖

上面兩個步驟搞定後,即可在IntelliJ IDEA中實現熱啟動,有任何問題歡迎留言溝通哦~

溫馨提示: 開啟idea自動編譯及automake功能後一定要重啟IntelliJ IDEA

下面的是我的公眾號二維碼圖片,歡迎關注,歡迎留言,一起學習,一起進步。


 

Java碎碎念公眾號

相關文章