1. 程式人生 > 程式設計 >關於在IDEA熱部署外掛JRebel使用問題詳解

關於在IDEA熱部署外掛JRebel使用問題詳解

問題描述:

在日常開發工作中,程式碼出現問題時往往要不停的修改測試驗證其正確性。每一次修改程式碼都需要重啟專案,十分耗時,對於企業大型專案來說重啟一次專案的時間夠你去喝杯咖啡了。為了減少專案重啟的時間所以來介紹這款外掛工具JRebel

JRebel介紹:

JRebel是一款JVM外掛,它使得Java程式碼修改後不用重啟專案,立即生效。IDEA上原生是不支援熱部署的,一般更新了 Java 檔案後要手動重啟專案,才能生效,浪費時間浪費生命。
目前對於idea熱部署最好的解決方案就是安裝JRebel外掛

spring-boot-devtools 與 JRebel 對比

對於使用過SpringBoot框架人來說,對熱更新並不陌生,因為它本身就支援這項功能,但是需要引用一個叫做spring-boot-devtools的jar包,其效果速度和JRebel就差的更遠了。

總結下來它的缺點也很明顯:
因為需要增加Maven依賴,但生產環境並不需要它,springboot-devtools方式的熱部署在功能上有限制的。比如說你新增一個方法或修改方法的引數,就不生效了,就速度來說,devtools在JRebel面前就是個弟弟

JRebel安裝與啟用

1.安裝JRebel :

Step1 在IDEA中一次點選 File -》 Settings -》 Plugins -》 Borws Repositories
Step2 在搜尋框中輸入JRebel 進行搜尋
Step3 找到JRebel and XRebel for Intellij
Step4 install
Step5 安裝好之後需要重啟 restart IDEA

關於在IDEA熱部署外掛JRebel使用問題詳解

啟用JRebel
JRebel 不是免費的外掛,需要啟用後才可以使用。
1.首先到github上去下載一個反向代理的軟體,這裡下載的是windows x64版本。
下載地址
https://github.com/ilanyu/ReverseProxy/releases/tag/v1.4

關於在IDEA熱部署外掛JRebel使用問題詳解

雙擊執行我們下載的程式

關於在IDEA熱部署外掛JRebel使用問題詳解

在IDEA中點選 File -》Settings -》JRebel 並找到啟用頁面(因為我的已經激活了,點選change liense進入的啟用介面,記不清一開始怎麼進入的了)

關於在IDEA熱部署外掛JRebel使用問題詳解

選擇JRebel activated 中的 connect to online liceensing service

第一行輸入 http://127.0.0.1:8888/d3545f42-7b88-4a77-a2da-5242c46d4bc2
第二行輸入正確的郵箱地址,例如: [email protected]
再點選以下change liense 按鈕驗證啟用
提示:d3545f42-7b88-4a77-a2da-5242c46d4bc2為UUID,可以自己生成,並且必須是UUID才能通過驗證

關於在IDEA熱部署外掛JRebel使用問題詳解

最後別忘了把JRebel設定為離線工作模式,點一下work offline。

關於在IDEA熱部署外掛JRebel使用問題詳解

JRebel 使用

此時已經安裝好並已啟用,我們使用JRebel debug的時候,修改程式碼,不能實現熱部署,因此還需要設定其他地方
1.專案自動編譯

關於在IDEA熱部署外掛JRebel使用問題詳解

2. 設定 compiler.automake.allow.when.app.running
ctrl+shift+A 或者 help->find action…開啟
搜尋registry
找到 compiler.automake.allow.when.app.running 並✔

關於在IDEA熱部署外掛JRebel使用問題詳解

3.找到 View 選單 ——》 Tool Windows -》 JRebel
勾選需要熱部署的應用

關於在IDEA熱部署外掛JRebel使用問題詳解
關於在IDEA熱部署外掛JRebel使用問題詳解

然後啟動服務測試

關於在IDEA熱部署外掛JRebel使用問題詳解

修改業務程式碼後 按 Ctrl + Shift + F9

關於在IDEA熱部署外掛JRebel使用問題詳解

到此這篇關於關於在IDEA熱部署外掛JRebel使用問題詳解的文章就介紹到這了,更多相關IDEA熱部署外掛JRebel使用內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!