springboot+IDEA實現熱部署


pom.xml:

 

 

<!--
devtools工具:(說白了就是:例如在使用用myeclipse工具,服務在運行時,修改了java類內的內容,直接就生效了,不需要重啟服務(當然改變了類的結構是需要重啟服務的))
(1) devtools可以實現頁面熱部署(即jsp頁面修改后會立即生效,這個可以直接在application.properties文件中配置spring.thymeleaf.cache=false來實現),
      實現類文件熱部署(java類文件修改后不會立即生效),實現對屬性文件的熱部署。(java類熱部署前提條件:類的結構不發生變化(1.類方法結構不變 2.類屬性不變))
即devtools會監聽classpath下的文件變動,並且會立即重啟應用(發生在保存時機),注意:因為其采用的虛擬機機制,該項重啟是很快的
(2)配置了后在修改java文件后也就支持了熱啟動,不過這種方式是屬於項目重啟(速度比較快的項目重啟),會清空session中的值,也就是如果有用戶登陸的話,項目重啟后需要重新登陸。
默認情況下,/META-INF/maven,/META-INF/resources,/resources,/static,/templates,/public這些文件夾下的文件修改不會使應用重啟,但是會重新加載(devtools內嵌了一個LiveReload server,當資源發生改變時,瀏覽器刷新)

IDEA:
當我們修改了Java類后,IDEA默認是不自動編譯的,而spring-boot-devtools又是監測classpath下的文件發生變化才會重啟應用,所以需要設置IDEA的自動編譯: (1)File-Settings-Compiler-Build Project automatically (2)ctrl + shift + alt + /,選擇Registry,勾上 Compiler autoMake allow when app running
-->

 

參照:https://blog.csdn.net/u012190514/article/details/79951258


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM