JRebel特別版是一款在IntelliJ IDEA上使用的熱部署插件,是專門為java開發者打造的。我們可以通過JRebel熱部署插件來快速實現熱部署,直接跳過了構建和部署的過程,從而省去了大量的重啟時間,讓用戶們的個人開發效率得到很大提升。
JRebel是一款JAVA虛擬機插件,它使得JAVA程序員能在不進行重部署的情況下,即時看到代碼的改變對一個應用程序帶來的影響。JRebel使你能即時分別看到代碼、類和資源的變化,你可以一個個地上傳而不是一次性全部部署。當程序員在開發環境中對任何一個類或者資源作出修改的時候,這個變化會直接反應在部署好的應用程序上,從而跳過了構建和部署的過程,每年可以省去部署用的時間花費高達5.25個星期。Jrebel 可快速實現熱部署,節省了大量重啟時間,提高了個人開發效率。
修改方法體
添加和刪除方法
修改方法定義
添加和刪除字段
添加和刪除類
添加和刪除內部類
添加和刪除注釋
添加,刪除和修改靜態字段值
添加和刪除枚舉值
修改接口
添加,刪除和修改XML資源
使用ID添加新資源
在現有對象上初始化新實例字段
初始化新的靜態字段,同時保留現有字段中的狀態
修改類的已實現接口
修改類的類層次結構
jrebel最新版是一種在開發Java應用程序時避免執行重復和繁瑣任務的智能方法,它是一個JVM插件,對任何對實時檢查代碼更改而不會以任何方式影響程序狀態感興趣的專業人員都有很大幫助。
至于jrebel最新版等產品的影響范圍,值得指出它應該與以下任何IDE集成:IntelliJ,Eclipse,RAD,NetBeans,MyEclipse和STS。
除此之外,開發人員可能有興趣知道應用程序服務器支持Tomcat,Jetty,WebLogic,WebSphere,JBoss EAP / Wildfly,OSGi和GlassFish。
為了更具體地說明軟件實用程序如何提供幫助,應該提到它可以通過依賴應用程序服務器上的現有類加載器來使類可重新加載。因此,任何修改過的類都會重新編譯,并且可以在運行的程序中實時重新加載。
更重要的是,應該注意IDE工作空間和構建系統是靜態資源和類的來源。
最后但同樣重要的是,必須要說JVM插件可以處理遠程和云環境以及微服務中的開發。
1、這里以JRebel為例,安裝:在idea中點擊file->settings,再點擊plugins->install plugin from disk,選擇JRebel插件的離線安裝文件,點擊確定后重啟idea。
2、安裝完畢后解壓jrebel2018.1.5激活集合包.rar,用解壓出來的文件下對應時間的.jrebel包替換本地“C:\Users\username\.jrebel”文件夾,重啟即可
這里特別文件提供了21份,可以使用到2029年。每半年更新一下“C:\Users\username\.jrebel”即可
3、激活后,設置JRebel,選擇settings -> JRebel -> advanced 選擇Jrebel 6 Agent,然后重啟idea。Jrebel的其他配置按默認就好。
4、配置(重要):
1).項目必須以”war exploded”形式發布,不能以”war”包形式發布 (必做)
2).在Run->Edit Configuration選項中必須配置的項如下圖:(必須先以“war exploded”形式發布項目后才能看到此選項,必做)
3)、啟動時選擇以JRebel插件在tomcat中啟動,調試或運行均可(待所有配置都完成后再嘗試運行,必做)
打開Server面板,雙擊Tomcat,來到Tomcat的Overview配置面板,確認如下圖選中后點擊Open Launch Configuration
切換到Arguments標簽,在VM Arguments框里,在原有配置后面加上:
-noverify -javaagent:E:\eclipse\plugins\org.zeroturnaround.eclipse.embedder_6.2.2.RELEASE-201507291337\jr6\jrebel\jrebel.jar
-Drebel.dirs=${project_loc}\WEB-INF\classes
-Drebel.spring_plugin=true
-Drebel.struts2-plugin=true
-Xms256M -Xmx512M -XX:MaxPermSize=128m
上述參數的相關說明:
-agentpath: 這個是你使用的JRebel Agent版本的lib包的路徑(路徑后綴不要寫成jrebel.jar),注意其中的斜線方向。
-Drebel.dirs :這個是你要監控的項目的 class 文件路徑
-Drebel.disable_update: 設為true,就不會聯網檢查更新
-DJAVA_OPTS: 這個選項不是必須,當內存溢出的時候或其它特殊情況下才需要設置它的參數大小。
然后點擊OK保存。
最后,切換到Tomcat的Module面板:
選中要用JRebel的項目,點擊Edit
然后把Auto reloading enabled多選框取消選中,然后點擊OK
接下來讓程序跑起來,如果console中出現類似下圖提示,則大功告成!!接下來試一下修改java代碼,jrebel都會自動重新部署了!
MAC插件目錄 : ~/Library/Application Support/IntelliJIdea14/
Linux插件目錄 : ~/.IntelliJIdea14/config/plugins/
手頭沒有Eclipse,插件目錄是IDEA的,估計Eclipse的替換方法差不多