一、Intellij熱部署插件JRebel
包含:介紹jrebel谜疤、idea安裝jrebel插件佃延、激活jrebel(非免費现诀,需要免費激活使用)、測試jrebel本地tomcat熱部署履肃、及解決jrebel插件不起作用
測試效果圖:
1.測試仔沿,啟動idea中的tomcat服務(wù)器。--注:我用是swagger尺棋,可以用瀏覽器或者postman工具測試接口(推薦)封锉。
接口:返回Hello Spring Boot1 | 訪問接口:查看返回數(shù)據(jù),返回數(shù)據(jù)為Hello Spring Boot1 |
---|---|
2.不關(guān)閉tomcat服務(wù)器-項目一直在運行中.....
將接口Hello Spring Boot1修改為Hello Spring Boot2 | 再次訪問接口: 查看返回數(shù)據(jù)膘螟,返回數(shù)據(jù)為Hello Spring Boot2 |
---|---|
此時成福,發(fā)現(xiàn)返回結(jié)果是Hello Spring Boot2,實現(xiàn)了在服務(wù)器運行的時候修改代碼和數(shù)據(jù)荆残、而tomcat服務(wù)器并沒有重新啟動奴艾,代碼或數(shù)據(jù)已經(jīng)實時更新。
介紹JRebel:
JRebel使你能即時分別看到代碼脊阴、類和資源的變化,你可以一個個地上傳而不是一次性全部部署蚯瞧。當程序員在開發(fā)環(huán)境中對任何一個類或者資源作出修改的時候嘿期,這個變化會直接反應(yīng)在部署好的應(yīng)用程序上,從而跳過了構(gòu)建和部署的過程埋合,每年可以省去部署用的時間花費高達5.25個星期备徐。
JRebel是一款Java虛擬機插件,它使得我們能在不進行重部署的情況下甚颂,即時看到代碼的改變對一個應(yīng)用程序帶來的影響蜜猾。JRebel使你能即時分別看到代碼、類和資源的變化振诬,你可以一個個地上傳而不是一次性全部部署蹭睡。
安裝JRebel
安裝和使用JRebel需要注意兩點:激活和設(shè)置
1、在IDEA中一次點擊 File->Settings->Plugins->Brows Repositories
2赶么、在搜索框中輸入JRebel進行搜索
3肩豁、找到JRebel for intellij
4、install
5辫呻、安裝好之后需要restart IDEA
激活JRebel
JRebel并非免費的插件清钥,需要激活之后才能使用。
最新激活url地址 : http://139.199.89.239:1008/b8fdf475-b9f7-4146-b426-6e1bb5a17a16
下面的框中輸入郵箱地址 , 可隨意填 test@123.com. 然后點擊右下角的激活按鈕即可
在IDEA中一次點擊 File->Settings->JRebel 并找到激活界面(因為我的已經(jīng)激活了放闺,點擊change liense進入的激活界面)
操作方法就是點擊Work offile 按鈕即可:
說明:
如果出現(xiàn)激活過期的情況下 , 可以重新生成一下GUID , 替換原來的GUID即可 .
在線生成GUID地址:
http://www.ofmonkey.com/transfer/guid
手動熱部署:每次更改代碼祟昭,不需要重啟tomcat
使用Tomcat Web容器來開發(fā)的話,還需要配置運行項目,
如果web啟動的時候怖侦,出現(xiàn)內(nèi)存溢出現(xiàn)象則需要配置一下VM options:1099
如果你用Jetty容器篡悟,那就不用像上面這樣配置,直接點擊綠色小火箭谜叹,運行/調(diào)試都可以.
此時,已經(jīng)配置好JRebel恰力,可以進行測試啦
測試效果如最上測試效果圖一樣叉谜!
JRebel沒有效果時的相關(guān)設(shè)置及解決辦法
此時雖然安裝好了JRebel并成功激活了,但是我們使用JRebel debug的時候踩萎,發(fā)現(xiàn)修改代碼后停局,熱部署不起作用。因為還需要設(shè)置兩個地方
1香府、設(shè)置項目自動編譯
2董栽、設(shè)置 compiler.automake.allow.when.app.running
ctrl+shift+A 或者 help->find action…打開
搜索registry
找到 compiler.automake.allow.when.app.running 并?
3.有時候會發(fā)現(xiàn)Jrebel不起作用,即使是重啟Tomcat都不起作用企孩。
在Jrebel項目配置文件會存放項目的路徑锭碳,我將項目復(fù)制了一份,項目路徑變了勿璃,但是相應(yīng)的配置文件中沒有更改擒抛,所以,Jrebel就不起作用了补疑。
解決辦法如下:
(1)如果項目中不存在rebel.xml 在Jrebel插件中點擊生成rebel.xml
(2)如果項目中已存在rebel.xml 在src/main/resources中修改項目的路徑歧沪,查看項目路徑是否正確!
生成rebel.xml :
本地tomcat熱部署.png
本地tomcat熱部署和遠程tomcat熱部署
建議:不要選擇遠程tomcat熱部署莲组,現(xiàn)在還沒有配置遠程服務(wù)器配置诊胞,會提示你 new remote server。此時锹杈,把遠程不要勾選撵孤。
目前先實現(xiàn)本地tomcat熱部署;
測試效果在最上面!
解決的問題:項目更改完代碼竭望,每次更改都要重新啟動服務(wù)器邪码,在開發(fā)階段浪費很多時間,idea中tomcat服務(wù)器重啟有時候會很慢咬清,so. 就用idea jrebel插件霞扬,在項目運行中,更改代碼后不用重啟服務(wù)器枫振,實現(xiàn)代碼實時更新喻圃;
遠程tomcat熱部署,還需要配置好多粪滤,后續(xù)進行更新遠程部署斧拍;