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>

 

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