SpringBoot項(xiàng)目怎么實(shí)現(xiàn)熱部署,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是成都創(chuàng)新互聯(lián)公司的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。
<!--熱部署-->
<!-- devtools可以實(shí)現(xiàn)頁面熱部署(即頁面修改后會立即生效,
這個可以直接在application.properties文件中配置spring.thymeleaf.cache=false來實(shí)現(xiàn)) -->
<!--實(shí)現(xiàn)類文件熱部署(類文件修改后不會立即生效),實(shí)現(xiàn)對屬性文件的熱部署。-->
<!--即devtools 會監(jiān)聽classpath下的文件變動,并且會立即重啟應(yīng)用(發(fā)生在保存時機(jī)),
注意:因?yàn)槠洳捎玫奶摂M機(jī)機(jī)制,該項(xiàng)重啟是很快的-->
<!-- (1) base classloader (Base類加載器) :加載不改變的Class,例如:第三方提供的jar包。-->
<!-- (2) restart classloader (Restart類 加載器) :加載正在開發(fā)的Class。-->
<!--為什么重啟很快,因?yàn)橹貑⒌臅r候只是加載了在開發(fā)的Class,沒有重新加載第三方的jar包。-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<!-- optional-true, 依賴不會傳遞,該項(xiàng)目依賴devtools;
之后依賴boot項(xiàng)目的項(xiàng)目如果想要使用devtools,需要重新引入-->
<optional>true</optional>
</dependency>
配置文件添加
#熱部署生效
spring.devtools.restart.enabled=true
#設(shè)置重啟的目錄,添加那個目錄的文件需要restart
spring.devtools.restart.additional-paths=src/main/java
啟動后沒有反應(yīng),原因是它是基于類加載機(jī)制來實(shí)現(xiàn)熱加載的,因此你修改完成代碼后必須重新編譯當(dāng)前代碼,才能觸發(fā)熱部署,Eclipse默認(rèn)就支持了自動編譯,而在Intellij IDEA中默認(rèn)是關(guān)閉了自動編譯的,所以先必須先把它打開:
1、IDEA開啟項(xiàng)目自動編譯,進(jìn)入設(shè)置,Build,Execut, Deployment -> Compiler 勾選中左側(cè)的Build Project automatically
2、IDEA開啟項(xiàng)目運(yùn)行時自動make, ctrl + shift + a搜索命令:registry -> 勾選compiler.automake.allow.when.app.running 注:可能會ctrl + shift + a 變成了截圖功能,我就是釘釘?shù)慕貓D熱鍵導(dǎo)致的,關(guān)掉它!
附:下面方法我沒有檢驗(yàn) IDEA配置熱部署
Swift Codehttp://www.gendan5.com/swiftcode.html
1、修改服務(wù)器配置,使得IDEA窗口失去焦點(diǎn)時,更新類和資源
菜單Run->EditConfiguration , 然后配置指定服務(wù)器下,右側(cè)server標(biāo)簽下on frame deactivation = Update classes and resource。
優(yōu)點(diǎn):簡單
缺點(diǎn):基于JVM提供的熱加載僅支持方法塊內(nèi)代碼修改,只有debug模式下,并且是在idea失去焦點(diǎn)時才會出發(fā)熱加載,相對加載速度緩慢
2、使用springloaded jar包
a. 下載jar包,github:https://github.com/spring-projects/spring-loaded
b. 啟動應(yīng)用時添加VM啟動參數(shù):-javaagent:/home/lkqm/.m2/repository/org/springframework/springloaded/1.2.7.RELEASE/springloaded-1.2.7.RELEASE.jar - noverify
優(yōu)點(diǎn):對Spring系列框架支持好(不含Spring boot), 支持 成員級別的修改(增刪改方法、字段、注解),支持對枚舉值集。
缺點(diǎn):與優(yōu)點(diǎn)相對
3、使用Jrebel插件實(shí)現(xiàn)熱部署(該插件14天免費(fèi)試用)
在線安裝:菜單File -> Setting -> Plugin, 點(diǎn)擊右側(cè)底部 Browse repositories, 彈出框頂部輸入:JReble for Intellij, 選中安裝即可。
優(yōu)點(diǎn):強(qiáng)大,對各類框架支持,并且提供IDE插件的方式。
關(guān)于SpringBoot項(xiàng)目怎么實(shí)現(xiàn)熱部署問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。
文章名稱:SpringBoot項(xiàng)目怎么實(shí)現(xiàn)熱部署
文章起源:http://www.rwnh.cn/article32/gpoepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、全網(wǎng)營銷推廣、搜索引擎優(yōu)化、Google、App開發(fā)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)