Eclipse中使用JRebel實現項目熱部署(Maven插件版)
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插件版)