在進行java web程序開發過程中,經常遇到這種問題,修改一個java文件(*.java),需要重啟web服務器(如tomcat,weblogic等),部署項目。而起/停服務器浪費了大量的時間。在小項目中,也許我們感覺不到。但對于公司的大型項目:如數據中心,生產等系統開發而言,往往起/停需要等待幾分鐘時間。更浪費時間的是,對于一個類中的方法的調試過程,如果修改多次,需要反復的啟停服務器,那么浪費的時間更多。從上可以看出,我們急需一個可快速起/停服務器的工具,來提高我們的開發效率。
Javarebel簡介
JavaRebel是一個JVM插件(-javaagent),能夠即時重載java class更改,因此不需要重新部署一個應用或者重啟容器,節約開發者時間。它是一個Java EE和Java 獨立應用的常用解決方案。
JavaRebel可以和MyEclipse,tomcat等快速的組裝在一起,用語動態部署java文件而不用重啟服務器,從而可解決大量的開發時間,提高開發效率。
JavaRebel使用介紹
下面以javarebel + MyEclipse,javarebel+tomcat為例,介紹javarebel的在項目開發,部署環境的搭建即使用。
Javarebel和MyEclipse開發部署應用
1:下載javarebel插件:http://www.zeroturnaround.com/javarebel/download/目前版本為2.0.將下載后文件解壓在任意目錄(windows),如:D:\javarebel-2.0.
2:安裝myeclipse(安裝步驟略),個人使用版本myeclispe5.5.
3:在myeclipse中添加javarebel:打開MyeEclispe->Window->Prefrence窗口,找到設置tomcat位置下JDK設置。如圖:

在java VM參數中增加如下代碼:
-noverify-javaagent:d:\javarebel-2.0\javarebel.jar
然后點擊“OK”按鈕即可。
下面看看javarebel在開發過程中的應用(假設myeclipse中設置的tomcat部署文件{tomcat}\conf\Catalina\localhost\<文件名>.xml 中鏈接的項目已在myeclipse中導入):
啟動tomcat完畢后,修改java類文件。然后直接運行程序(不用重啟服務器)。在myeclipe控制臺會打印下圖紅色筆記部分信息,此為javarebel自動打印,告訴你被修改的類部署的部署情況。

紅色畫筆下的打印信息是我修改java類的測試信息。通過上圖可以發現javarebel已成功將我修改的類進行了部署。
Javarebel和Tomcat開發部署應用
1:下載javarebel(略)。
2:安裝tomcat略。個人使用tomcat5.0.19
3:在tomcat中進行javarebel配置:打開{tomcat}\bin\ catalina.bat,找到set JAVA_OPTS處,在“=”右邊添加如下代碼:
-noverify -javaagent:d:\javarebel-2.0\javarebel.jar
個人設置后結果如下:
set JAVA_OPTS=-noverify -javaagent:d:\javarebel-2.0\javarebel.jar-Xms1024m -Xmx1024m
4:啟動tomcat,待啟動完畢后,修改tomcat部署描述文件(xml)所鏈接項目中java文件(將此項目導入eclipse中進行修改),修改完畢后,直接運行程序。則會在tomcat控制臺看到如下信息:
