1.為什么用JRebel田藐?
我們知道tomcat
部署的時候,可以設(shè)置 Update classes and resources
滚局,達到不用重啟的效果继蜡。
這個設(shè)置可以把修改的class和資源文件一并上傳上去究驴,但是這個設(shè)置有個限定弦疮。就是如果增加了方法剧辐,或者修改了參數(shù)就必須重啟才行寒亥。
而JRebel
是熱部署插件∮兀可以把最新的classse
文件load
到服務(wù)器溉奕。(屬于一種攔截技術(shù),它幫我們編譯忍啤,然后傳上去)
簡單的說加勤。兩者的差別就是:
當你的java-web
項目在tomcat
中run/debug
的時候 ,
修改某一個java
文件時,tomcat 并不能將此文件的修改實時編譯并反映到運行的項目中去同波。
JRebel 就可以解決在項目運行狀態(tài)run/debug
狀態(tài)下任意修改java
文件并動態(tài)反饋到運行的項目
或者你說,我可以設(shè)置tomcat
的service.xml
配置reloadable=true;
那我們就要說一下,這個配置的弊端了鳄梅。
經(jīng)過我們分析,原有的tomcat
reloadable="true"
方式未檩,雖可加載變化過或新增的類但存在以下問題
1戴尸、內(nèi)存清空,**整體web app會重新加載**冤狡,web.xml中配置的監(jiān)聽器會全部再執(zhí)行孙蒙。
2、其他沒變的類也會重新加載悲雳。
3挎峦、當系統(tǒng)很大時,非常耗時合瓢。
2.JRebel是什么浑测?
JRebel 是一款 Java 虛擬機插件,它使得 Java 程序員能在不進行重部署的情況下,即時看到代碼的改變對一個應(yīng)用程序帶來的影響迁央。JRebel 使你能即時分別看到代碼掷匠、類和資源的變化,你可以一個個地上傳而不是一次性全部部署岖圈。當程序員在開發(fā)環(huán)境中對任何一個類或者資源作出修改的時候讹语,這個變化會直接反應(yīng)在部署好的應(yīng)用程序上,從而跳過了構(gòu)建和部署的過程蜂科,每年可以省去部署用的時間花費高達 5.25 個星期顽决。
3.JRebel怎么用?
3.1.IDEA安裝
IDEA 中依次點擊 File --> Settings --> Plugins 搜索 JRebel 安裝即可
2022年3月21日補充:
好像改成JRebel and Xrebel了
3.2.激活JRebel
安裝plugin.
打開jrebel激活面板.選擇Connection to online licensing service.
填入URL: http://139.199.89.239:1008/b8fdf475-b9f7-4146-b426-6e1bb5a17a16
2022年3月21日補充:
獲取UUID:http://jrebel.cicoding.cn/GUID
地址:http://jrebel.cicoding.cn/UUID
末尾替換為任意UUID==>重要导匣!
在線生成UUID:http://www.uuid.online/
查看當前 JRebel 狀態(tài)才菠,綠色圖標表示激活狀態(tài)
jrebel激活之后默認是聯(lián)網(wǎng)使用的 , 在該模式下 , jrebel會一直聯(lián)網(wǎng)監(jiān)測激活信息 . 所以要調(diào)為離線使用的
3.3.上手了兄弟!
點擊要熱部署的項目贡定。然后tomcat該怎么配置還是怎么配置赋访。啟動的時候,啟動jrebel的按鈕即可。
OK,至于你能享受到的效果缓待,參考第1點蚓耽,用起來就對了。enjoy yourself~