JRebel安裝使用說明(真正的實現熱佈署)
開發環境下,tomcat對熱佈署的支援還是比較弱,致使開發過程中浪費大量時間在重起服務上。發現了Jrebel,它對熱佈署的支援相對比較全面。
雖然Jrebel官方號稱使用它不存在記憶體洩漏問題,但是佔用一定的資源是肯定的,因此不考慮在正式環境下使用熱佈署。Jrebel除了支援Tomcat還包括Jetty、Resin、Weblogic等等,在使用Jrebel後,期望看到開發人員早上開機啟動一次tomcat後就夠了。通常使用myeclipse,eclipse進行run的時候修改類檔案的話,不會進行熱佈署,用deBug Run的時候只要是修改類方法裡面的程式碼 是可以實現熱佈署的,但是如果是增加方法,增加類的屬性的話是不會進行熱佈署的,用了JRebel就可以實現了
eclipse下使用有兩種方法
1:安裝jrebel外掛
官網安裝方法:
如果是eclipse3.6 Helios及以後的版本:
點選 Help -> Eclipse Marketplace 搜尋“ JRebel ”
找到相應 點選Install
如果是eclipse3.3,3.4,3.5等 使用 Help-->install new software進行安裝
安裝好後在window-->preferences 可以看到JRebel項
預設是選中了 Use embedded JRebel(5.0.1)
下載
配置 JRebel.xml
右鍵專案 點選屬性就可以看到JRebel選項
這些配置好後基本上都可以直接使用了,要注意的是 server裡配置下
publishing配置為Never publish automatically 然後下方的JRebel Integeration裡選中 enable JRebel agent,並且修改Modules裡專案的auto Reload改為disabled
一般專案應該就沒什麼問題了,如果專案比較大,會發現啟動比較慢,並會報錯:
java.lang.OutOfMemoryError: Java heap space
出現這個問題的話就在 server配置裡點選 “Open launch configuration”
配置Arguments 在VM arguments:里加上
-noverify
-Drebel.spring_plugin=true
-Drebel.aspectj_plugin=true
-Drebel.struts2_plugin=true
-Drebel.hibernate_plugin=true
-Drebel.jackson_plugin=true
-Drebel.log4j-plugin=true
-Xmx512M -Xms512M -XX:MaxPermSize=1024m (主要是這個 給jrebel分配大記憶體)
Drebel.[plugin_id] =false
(/ true
) 是用來指定JRebel整合框架的
-javaagent:D:\jarLib\jrebel.jar 這個可以指定相應jar包,在vm裡配置了這項的話,可以不用安裝jrebel外掛
-Drebel.dirs=D:/lsq/lsqWorkspace/yhoa/web/WEB-INF/classes 這個是配置監控的專案的class檔案路徑
參考文章: