詳解使用JRebel插件實(shí)現(xiàn)SpringBoot應(yīng)用代碼熱加載
前言
在實(shí)際的開(kāi)發(fā)過(guò)程中,我們經(jīng)常修改代碼之后,手動(dòng)的重啟項(xiàng)目,查看修改效果。那么有沒(méi)有一種方式能夠快速的、自動(dòng)的幫我們將修改代碼自動(dòng)更新,避免手動(dòng)重啟,從而提高開(kāi)發(fā)效率呢?是有的,在我之前的文章里面給讀者介紹了使用springboot-devtools實(shí)現(xiàn)熱加載的方法。本文就給大家介紹另外一種方式:使用Jrebel插件完成修改代碼及資源的自動(dòng)更新功能。
但是對(duì)于這個(gè)功能很多人對(duì)功能的叫法有爭(zhēng)議,筆者查詢了維基百科、官方文檔,沒(méi)有得到合理的答案,也沒(méi)有權(quán)威的定義,筆者知道的就有:熱啟動(dòng)、熱加載、熱更新、熱部署、熱切換。這幾個(gè)詞從語(yǔ)義上是有區(qū)別的,但是叫什么并不重要,實(shí)現(xiàn)了最重要,畢竟絕大部分程序員為了使用這個(gè)功能方便開(kāi)發(fā),也不是專業(yè)的搞學(xué)術(shù)研究的。
如果哪位同學(xué)獲得了權(quán)威渠道的說(shuō)法,可以將文檔連接反饋給我。我再理解一下,爭(zhēng)取做到學(xué)術(shù)研究級(jí)別的一絲不茍!在此之前筆者按照自己的想法和英文翻譯的角度去使用這些名詞。
使用Jrebel插件實(shí)現(xiàn)熱加載,這是最簡(jiǎn)單的一種方式,但是有一定的個(gè)局限性,Jrebel插件是收費(fèi)的。雖然有破解方案,但是不建議!有需要的同學(xué)自行研究,這里就不多做介紹了。(如果確實(shí)有需要,可以參考文末的我的博客地址)
第一步:安裝插件
IntelliJ IDEA是筆者最常使用的IDE,本文就以在IDEA中Jrebel的安裝及使用進(jìn)行示例說(shuō)明。按照箭頭所示選擇安裝。安裝完成之后,要重啟IDEA才能生效。
第二步:激活插件
在安裝完成之后,右上角會(huì)多出這樣幾個(gè)按鈕。點(diǎn)擊之后會(huì)提示你進(jìn)行插件激活,可以購(gòu)買(mǎi)注冊(cè)碼激活,也可以在線激活。也可以填寫(xiě)個(gè)人姓名、郵箱、電話之后獲取10天的試用期!
第三步:更新操作觸發(fā)配置
這個(gè)配置不僅結(jié)合Jrebel使用有效,對(duì)于其他的方式實(shí)現(xiàn)熱加載,代碼及資源的自動(dòng)更新也同樣適用。
在Spring Boot項(xiàng)目啟動(dòng)配置中,選擇下圖中的紅色框中的內(nèi)容:uodate classes and resources on ‘update' action
配置完成后,通過(guò)右上角的JR按鈕啟動(dòng)SpringBoot項(xiàng)目。就可以實(shí)現(xiàn)改動(dòng)代碼和資源的自動(dòng)更新。
最后還是要說(shuō)明一下,這種方式雖然簡(jiǎn)單,但是Jrebel插件是收費(fèi)插件。如果經(jīng)濟(jì)上不困難,請(qǐng)尊重原作者的勞動(dòng)成果。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java中重載,繼承,重寫(xiě)和多態(tài)的區(qū)別
這篇文章主要介紹了java中重載,繼承,重寫(xiě)和多態(tài)的區(qū)別,需要的朋友可以參考下2014-07-07Java Lock鎖多線程中實(shí)現(xiàn)流水線任務(wù)
這篇文章主要介紹了Java Lock鎖多線程中實(shí)現(xiàn)流水線任務(wù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05JUC系列學(xué)習(xí)工具類CountDownLatch詳解
這篇文章主要介紹了JUC系列學(xué)習(xí)工具類CountDownLatch詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可任意參考一下2022-08-08Java實(shí)現(xiàn)文件名倒序排序的技術(shù)指南
在實(shí)際開(kāi)發(fā)過(guò)程中,我們經(jīng)常需要對(duì)文件進(jìn)行操作和處理,一個(gè)常見(jiàn)的需求是按文件名倒序排列文件列表,以便于文件的管理和查找,本文將介紹如何在Java中實(shí)現(xiàn)文件名倒序排序,并提供詳細(xì)的代碼案例,需要的朋友可以參考下2024-08-08GsonFormat快速生成JSon實(shí)體類的實(shí)現(xiàn)
GsonFormat主要用于使用Gson庫(kù)將JSONObject格式的String?解析成實(shí)體,本文主要介紹了GsonFormat快速生成JSon實(shí)體類的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-05-05Java中 % 與Math.floorMod() 區(qū)別詳解
這篇文章主要介紹了Java中 % 與Math.floorMod() 區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08Java?數(shù)據(jù)庫(kù)連接池Druid?的介紹
這篇文章主要給大家分享的是?Java?數(shù)據(jù)庫(kù)連接池Druid?的介紹,Druid是一個(gè)JDBC組件,它包括三部分:?DruidDriver?代理Driver,能夠提供基于Filter-Chain模式的插件體系。?DruidDataSource?高效可管理的數(shù)據(jù)庫(kù)連接池,下面來(lái)看看文中的詳細(xì)內(nèi)容,需要的朋友也可以參考一下2021-11-11