javarebel熱部署 (轉)

劍握在手發表於2015-12-28

Java web開發部署效率淺析

在進行java web程式開發過程中,經常遇到這種問題,修改一個java檔案(*.java),需要重啟web伺服器(如tomcat,weblogic等),部署專案。而起/停伺服器浪費了大量的時間。在小專案中,也許我們感覺不到。但對於公司的大型專案:如資料中心,生產等系統開發而言,往往起/停需要等待幾分鐘時間。更浪費時間的是,對於一個類中的方法的除錯過程,如果修改多次,需要反覆的啟停伺服器,那麼浪費的時間更多。從上可以看出,我們急需一個可快速起/停伺服器的工具,來提高我們的開發效率。

1       Javarebel簡介

JavaRebel是一個JVM外掛(-javaagent),能夠即時過載java class更改,因此不需要重新部署一個應用或者重啟容器,節約開發者時間。它是一個Java EE和Java 獨立應用的常用解決方案。

JavaRebel可以和MyEclipse,tomcat等快速的組裝在一起,用語動態部署java檔案而不用重啟伺服器,從而可解決大量的開發時間,提高開發效率。

2       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控制檯看到如下資訊:

相關文章