這篇文章給大家分享的是有關javaweb開發提高效率利器JRebel的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
jrebel是國外公司perforce于2007年開發的一款java開發效率工具,旨在幫助java開發人員更快地編寫更好的應用程序。jrebel提供了常用的開發IDE如IntelliJ Idea、eclipse、myEclipse、NetBeans等的jrebel插件,可以很方便的在IDE中使用JRebel進行代碼的熱加載,提高開發效率。
jrebel可以幫助我們解決哪些問題?
1、每次修改完java代碼后,都要重啟項目來讓java代碼生效,等待很長時間
2、每次重啟項目電腦CPU都打滿,電腦吃不消
這里介紹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獲?。褐苯犹顚憉rl即可: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/
方式二:參考http://www.dadijd.cn/article/189496.htm
最后別忘了點擊 work offline,以離線模式運行。
若是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是一個基于JVM類加載機制的插件,能自動重新加載修改后的java字節碼文件。因為我們在IDEA中開啟了自動編譯功能,所以當java文件發生改動時,會被自動編譯成字節碼文件,此時jrebel監聽到字節碼文件發生了改變,就自動的把改動的字節碼文件加載進JVM中,所以我們幾乎可以實時的看到修改后的效果。因為只是重新加載改動的文件,不用重啟整個項目,所以效率上要遠高于devtools,對于配置文件或xml文件中的修改還是要重啟才行。
熱加載和熱部署的區別:
熱加載:在項目運行狀態下,重新加載修改后的資源(用于日常開發),內存不會被清空,session也有效,但內存消耗較大。
熱部署:在項目運行狀態下,自動重啟部署整個項目(用于項目部署),但會將內存清空,session也將失效。
1、springBoot環境下,可用devTools,但不如JRebel好。
2、以debug模式啟動項目,每次修改完重新ctrl+F9編譯一下,有時候也有效。
感謝各位的閱讀!關于“javaweb開發提高效率利器JRebel的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。