Java 項目熱部署,節(jié)省構(gòu)建時間的正確姿勢

上周末,幫楊小邪(我的大學室友)遠程調(diào)試項目。SpringBoot 構(gòu)建,沒有熱部署,改一下就得重啟相關(guān)模塊。小小的 bug ,搞了我一個多小時,大部分時間都還在構(gòu)建上(特么,下次得收錢才行)。我跟他說有個熱部署插件叫 Jrebel,可以熱部署,每次修改完代碼需要測試的時候,只要 Build 一下就行?所有 Java 項目都能使用,他居然不知道。作為一個英俊男孩,我不得不寫下這篇文章教他使用熱部署。

Jrebel 是什么?

JRebel 是一款 JAVA 虛擬機插件,它使得 JAVA 程序員能在不進行重部署的情況下,即時看到代碼的改變對一個應用程序帶來的影響。JRebel 使你能即時分別看到代碼、類和資源的變化,你可以一個個地上傳而不是一次性全部部署。當程序員在開發(fā)環(huán)境中對任何一個類或者資源作出修改的時候,這個變化會直接反應在部署好的應用程序上,從而跳過了構(gòu)建和部署的過程。

簡而言之,不管你修改了類還是資源,只需要重新 Build 一下相關(guān)的類,改動就直接反映到你的應用程序了。

Jrebel 安裝

打開你的 IntelliJ IDEA 插件市場,搜索 Jrebel ,第一個就是。點擊 install 安裝,完了之后重啟 IDEA。

Jrebel 插件

Jrebel 激活

重啟完之后會彈出如下框提示激活,選中 Team Url ,其中郵箱隨便填就行,認證服務地址的格式是 https://jrebel.qekang.com/{GUID} 它需要一個 guid 參數(shù),這個參數(shù)需要從 guid 服務器生成。它的地址是 https://www.guidgen.com/,直接打開生成一個 guid (不要用下圖這個,可能失效),如下圖:

生成的 guid

復制 guid 填充到認證服務地址后面。比如:https://jrebel.qekang.com/7bea5149-69a5-4270-8190-3f049dc8d2d6,填到下圖的認證服務地址欄。

Jrebel 激活

點擊 change license ,激活成功。

Jrebel 激活成功

Jrebel 使用

點擊 IDEA 左側(cè)邊欄邊的 Jrebel 選項,配置需要熱部署的模塊,如下圖,直接打上勾就可以。

選擇模塊

一切準備就緒之后,你會發(fā)現(xiàn)工具欄多了如下圖的這兩個圖標:一個是 Jrebel run 模式啟動項目,一個是 Jrebel debug 模式啟動(一些需要測試的模塊,一般使用這個模式),現(xiàn)以 debug 模式啟動 xxxx_collect 模塊。

Jrebel 啟動

啟動成功。假如,我現(xiàn)在對應用程序的效果不滿意,又修改了剛剛勾選的 xxxx_collect 模塊下的名為 xxxxFeignClientApi 的java 類,如下圖所示:

修改的 java 類

這是不需要重新啟動,只需要重新 build 一下相關(guān)類即可,如果改動多的話,直接 build 模塊就行。

重新 Build

以上就是 Jrebel 的使用教程,賊方便。Jrebel 每年可以省去部署用的時間花費高達 5.25 個星期(Jrebel 官方說的)。

最后

推薦下阿里云的服務器,新用戶購買服務器 89 元 / 年、229 元 / 3 年。買個用來搭建項目(比如個人博客)準備面試、熟悉技術(shù)棧、學習 Linux 都可以。不是新用戶也沒關(guān)系,借用家人朋友身份證重新注冊新用戶(我用了我妹妹的??)有需要的復制下面的鏈接注冊購買就是最低價。

https://www.aliyun.com/minisite/goods?userCode=u1o37uph&share_source=aliyun_app

我這還有使用教程「Linux 系列」阿里云服務器的使用及安裝 mysql、tomcat、jdk 三件套

如果看到這里,說明你喜歡這篇文章,請轉(zhuǎn)發(fā)、點贊。微信搜索「一個優(yōu)秀的廢人」,關(guān)注后回復「1024」送你一套完整的 java 教程。

教程節(jié)選
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容