javaweb開發提高效率利器JRebel詳解
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://www.jb51.net/article/189496.htm
最後別忘瞭點擊 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編譯一下,有時候也有效。
推薦閱讀:
- None Found