1. 程式人生 > >Eclipse中使用JRebel實現項目熱部署(Maven插件版)

Eclipse中使用JRebel實現項目熱部署(Maven插件版)

圖片 pom 參數 項目 設置 tof 並保存 central 打印

JRebel實現項目熱部署(Maven插件版)

熱部署,就是在應用運行過程中不進行重啟,可直接進行軟件升級。

在開發過程中,熱部署就是在項目運行過程中變更代碼,無需重啟服務器即可使代碼生效。

tomcat可以進行項目熱部署,但在類中添加方法或方法名改動時則無法熱部署,需要重啟服務器,導致浪費大量開發時間在等待項目重啟上,通過JRebel可實現絕大部分項目代碼改動都能進行熱部署。

在安裝JRebel插件前建議先把Maven jar包中央倉庫的下載地址(默認下載地址是國外的,下載速度比較慢)換成國內的,這裏推薦設置成阿裏的中央倉庫。

Maven中央倉庫下載地址更換步驟:

①更改Maven配置文件

②設置Maven配置文件到Eclipse

1.找到本地Maven安裝路徑,打開本地Maven安裝路徑下的conf/Settings.xml:

技術分享圖片

技術分享圖片

技術分享圖片

2.<mirrors></mirrors>標簽內添加以下鏡像參數並保存:

<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>        
</mirror>

3.打開Eclipse-->Window-->Preferences,找到Maven下的User Settings:

技術分享圖片

技術分享圖片

-------------------------------------------------步驟結束-------------------------------------------------------------

在Eclipse中安裝JRebel插件

技術分享圖片

技術分享圖片

等待安裝完成後,在彈出的是否重啟Eclipse對話框點擊確定,等待自動重啟Eclipse,插件安裝完成。

插件激活請參考:https://blog.csdn.net/lawsonjin/article/details/76422807

-------------------------------------------------步驟結束--------------------------------------------------

本人開發時運行項目使用的tomcat是Maven的tomcat插件,因此需要添加Maven的tomcat插件,通過Maven的tomcat插件運行項目想要使用JRebel需要添加Maven的JRebel插件。

Maven的tomcat插件配合JRebel的設置步驟:

1.在pom.xml中<build></build>標簽下的<plugins>標簽裏添加tomcat插件以及jrebel插件:

技術分享圖片

以下是插件代碼:

技術分享圖片
<!-- maven的tomcat組件,通過maven命令tomcat7:run運行項目 -->
<plugin>
  <groupId>org.apache.tomcat.maven</groupId>
  <artifactId>tomcat7-maven-plugin</artifactId>
  <version>2.2</version>
  <configuration>
    <port>8080</port>
    <path>/Irritability</path>
  </configuration>
</plugin>

<!-- jrebel熱部署插件 -->
<plugin>
  <groupId>org.zeroturnaround</groupId>
  <artifactId>jrebel-maven-plugin</artifactId>
  <version>1.1.8</version>
  <executions>
    <execution>
    <id>generate-rebel-xml</id>
    <phase>process-resources</phase>
    <goals>
      <goal>generate</goal>
    </goals>
    </execution>
  </executions>
</plugin>
技術分享圖片

2.選中項目,點擊右鍵-->JRebel-->Enable JRebel會在項目的src/main/resources目錄下自動生成rebel.xml配置文件:

技術分享圖片

技術分享圖片

3.選中項目點擊右鍵-->Run As-->Maven build...:

技術分享圖片

按照圖中步驟設置後點擊Run按鈕運行項目:

技術分享圖片

技術分享圖片

運行結果:如下圖說明JRebel插件啟動成功,隨後tomcat也開始啟動:

技術分享圖片

啟動完成後對項目內的某個方法進行更名等操作後保存代碼,JRebel就會自動檢測到代碼變更,並重新編譯更改了代碼的文件,控制臺打印信息:

技術分享圖片

補充:本人在完成JRebel安裝後運行項目正常啟動,但點擊請求時出現

Exception in thread ""http-bio-80"exec-1" java.lang.OutOfMemoryError: PermGen s的異常(內存溢出)。

內存溢出解決方法是擴大設置的內存,步驟如下:

Windows-->Preferences-->Java-->Installed JREs右側-->Edit...

技術分享圖片

在 Default VM arguments中寫入 -Xms512M -Xmx1024M -XX:PermSize=256m -XX:MaxPermSize=768m

,隨後重啟項目即可正常使用JRebel熱部署項目了。

技術分享圖片

有時候修改代碼jrebel不會自動自動部署可能沒有勾選自動編譯

技術分享圖片

Eclipse中使用JRebel實現項目熱部署(Maven插件版)