JRebel用了有一段時間了,發現確實好用,節省了很多不必要的時間,提高了開發效率,在這里記錄一下他的安裝和使用程序,希望能幫助到有需要的人,
官網:https://www.jrebel.com/
一、JRebel簡介
jrebel是國外公司perforce于2007年開發的一款java開發效率工具,旨在幫助java開發人員更快地撰寫更好的應用程式,jrebel提供了常用的開發IDE如IntelliJ Idea、eclipse、myEclipse、NetBeans等的jrebel插件,可以很方便的在IDE中使用JRebel進行代碼的熱加載,提高開發效率,
jrebel可以幫助我們解決哪些問題?
1、每次修改完java代碼后,都要重啟專案來讓java代碼生效,等待很長時間
2、每次重啟專案電腦CPU都打滿,電腦吃不消
二、JRebel安裝和激活
這里介紹idea中jRebel插件的安裝和激活,
安裝
打開idea插件瀏覽器:File-》settings-》plugins-》Browse repositories,搜索jrebel,安裝這個【Jrebel and XRebel for IntelliJ】插件,重啟,重啟完后idea右側會有個Jrebel使用向導,愛看不看,
安裝完后的設定
1、打開idea的自動編譯功能:settings-》build-》compiler-》Build project automatically

2、打開idea的【當應用運行期間可以自動編譯的功能】
方式一:ctrl+shift+alt+/ 選擇Registry
方式二:ctrl+shift+A 搜索registry,或help-》find action,搜索Registry

激活
激活方式:填寫jrebel的激活url和個人郵箱即可,步驟:settings-》JRebel-》點擊 Change license,填寫完后點擊下面的 Change license 按鈕,
方式一:激活url獲取:直接填寫url即可:https://jrebel.qekang.com/ + UUID,如 https://jrebel.qekang.com/27166483-4ca3-47d9-bc40-dd032ee52aba,UUID可自己生成,也可在線生成連接 https://www.guidgen.com/,一個JRebel license 網站 https://jrebel.qekang.com/
方式二:參考 https://blog.csdn.net/weixin_42831477/article/details/82229436

最后別忘了點擊 work offline,以離線模式運行,
若是JRebel過期了,就按照上面的步驟,再次激活就好了,
三、JRebel使用
1、專案初次使用,需要先生成rebel.xml檔案
JRebel安裝完成后,idea左側出現JRebel的工具視窗,如下圖所示:

對要進行熱加載的專案,后面打上勾,就會發現專案中多了個 rebel.xml 檔案,這是JRebel的組態檔,里面會自動配置JRebel要監控的檔案目錄,
- 如果是jar檔案,如springBoot專案,
rebel.xml則出現在專案根檔案夾中, - 如果是war檔案,如SSM專案,
rebel.xml將出現在WEB-INF / classes檔案夾中,
2、以JRebel方式啟動

3、修改java代碼測驗熱加載
以JRebel方式啟動后,修改java代碼,等上兩三秒,注意看控制臺,當出現 JRebel: Reloading class xxx 字樣的時候,說明JRebel熱加載完成,就可以查看修改后的效果了,
如果嫌JRebel的自動熱加載慢,可以ctrl+F9(Build Project)一下,就能立馬熱加載成功,趕緊動手試試吧!
四、 JRebel的熱加載原理
jrebel是一個基于JVM類加載機制的插件,能自動重新加載修改后的java位元組碼檔案,因為我們在IDEA中開啟了自動編譯功能,所以當java檔案發生改動時,會被自動編譯成位元組碼檔案,此時jrebel監聽到位元組碼檔案發生了改變,就自動的把改動的位元組碼檔案加載進JVM中,所以我們幾乎可以實時的看到修改后的效果,因為只是重新加載改動的檔案,不用重啟整個專案,所以效率上要遠高于devtools,對于組態檔或xml檔案中的修改還是要重啟才行,
熱加載和熱部署的區別:
熱加載:在專案運行狀態下,重新加載修改后的資源(用于日常開發),記憶體不會被清空,session也有效,但記憶體消耗較大,
熱部署:在專案運行狀態下,自動重啟部署整個專案(用于專案部署),但會將記憶體清空,session也將失效,
五、其他熱加載的方式
1、springBoot環境下,可用devTools,但不如JRebel好,
2、以debug模式啟動專案,每次修改完重新ctrl+F9編譯一下,有時候也有效,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/277649.html
標籤:java
上一篇:【Java 輸入、輸出流】
