IDEA使用JREBEL進行熱部署集成,安裝以及使用

    使用IDEA+tomcat對於老系統項目的維護特別蛋疼,每次更改或者修改jsp頁面等都會導致項目運行時候不生效,都得重新啓動應用纔行,這樣一來浪費了很多時間在等待上面,得不償失。

設置IDEA對tomcat設置:

設置這兩個參數項目:

On 'Update' action:Update classes and resources

On frame deactivation: Update classes and resources

 每次項目啓動後,修改了java類或者靜態頁面,都重新在點擊一下下面按鈕並可:

這樣會將你修改的東西動態的update在application中。

以爲這樣就萬事大吉了嗎?這個只是對靜態或者沒改變class結構的時候有效,如果遇到下面的情況,例如:

@RequestMapping(value = "/share/s.htm")
public void share(String shortCode)  {
   //根據短碼查詢分享數據信息
   List<ResShare> resShareList = resShareService.queryByShortCode(shortCode);
   if(resShareList != null && resShareList.size() > 0) {
       
    }
    //return "forward:/share/viewShare.do";
}

你將這個方法的void改爲有返回值的情況,在重新加載的時候就會出現項目報錯,此時你還得重新啓動一下項目!有什麼方法可以避免這種情況呢? 

 使用JREBEL進行熱部署

1.安裝

      JRebel6.4.3安裝破解教程下載資料:https://download.csdn.net/download/fengchao2016/11155113

      說明:通過Idea下載JRebel插件需要付費使用,雖然提供了14天免費使用,但是畢竟會有過期的時候!沒有永久免費使用的爽啊。在互聯網的幫助下,終於找到一種JRebel的破解方式,但是隻支持JRebel6.4.3以及以下的版本破解。

2.設置

      選擇settings -> JRebel -> advanced 選擇Jrebel 6 Agent,然後重啓idea。設置截圖所示:

 

idea的 tomcat設置還是和上面的一樣。啓動時候用JRebel啓動就可以。

 

3.擴展(可選,配置與否不影響)

    當一個項目使用maven多模塊開發時通過上面的配置, 只能自動加載webapp所在的模塊, 若想改動其他模塊的代碼也要自動加載, 需在項目的根(父)pom.xml文件中加入下面的配置:

<plugin>
       <groupId>org.zeroturnaround</groupId>
       <artifactId>jrebel-maven-plugin</artifactId>
       <version>1.1.5</version>
       <configuration>
             <addResourcesDirToRebelXml>true</addResourcesDirToRebelXml>
             <alwaysGenerate>true</alwaysGenerate>
             <showGenerated>true</showGenerated>
        </configuration>
        <executions>
              <execution>
                     <id>generate-rebel-xml</id>
                     <phase>process-resources</phase>
                      <goals>
                            <goal>generate</goal>
                      </goals>
               </execution>
        </executions>
</plugin>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章