實際開發過程中,經常會修改代碼重啟應用,每次手動重啟既麻煩開發效率又低,所以熱部署對於開發來說顯得十分必要,本文將介紹如何在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碎碎念公眾號