問題描述:
在日常開發工作中,代碼出現問題時往往要不停的修改測試驗證其正確性。每一次修改代碼都需要重啟項目,十分耗時,對於企業大型項目來說重啟一次項目的時間夠你去喝杯咖啡了。為了減少項目重啟的時間所以來介紹這款插件工具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安裝與激活
- 安裝JRebel :
Step1 在IDEA中一次點擊 File -》 Settings -》 Plugins -》 Borws Repositories
Step2 在搜索框中輸入JRebel 進行搜索
Step3 找到JRebel and XRebel for Intellij
Step4 install
Step5 安裝好之后需要重啟 restart IDEA
激活JRebel
JRebel 不是免費的插件,需要激活后才可以使用。
1.首先到github上去下載一個反向代理的軟件,這里下載的是windows x64版本。
下載地址
https://github.com/ilanyu/ReverseProxy/releases/tag/v1.4
- 雙擊運行我們下載的程序
- 在IDEA中點擊 File -》Settings -》JRebel 並找到激活頁面(因為我的已經激活了,點擊change liense進入的激活界面,記不清一開始怎么進入的了)
- 選擇JRebel activated 中的 connect to online liceensing service
第一行輸入 http://127.0.0.1:8888/d3545f42-7b88-4a77-a2da-5242c46d4bc2
第二行輸入正確的郵箱地址,例如: test@123.com
再點擊以下change liense 按鈕驗證激活
提示:d3545f42-7b88-4a77-a2da-5242c46d4bc2為UUID,可以自己生成,並且必須是UUID才能通過驗證
- 最后別忘了把JRebel設置為離線工作模式,點一下work offline。
JRebel 使用
此時已經安裝好並已激活,我們使用 JRebel debug的時候,修改代碼,不能實現熱部署,因此還需要設置其他地方
1.項目自動編譯
2. 設置 compiler.automake.allow.when.app.running
ctrl+shift+A 或者 help->find action…打開
搜索registry
找到 compiler.automake.allow.when.app.running 並✔
3.找到 View 菜單 ——》 Tool Windows -》 JRebel
勾選需要熱部署的應用
然后啟動服務測試
修改業務代碼后 按 Ctrl + Shift + F9