@maohoo Intellij idea15安装JRebel插件实现tomcat热部署

时间:2022-12-08 20:01:39
  • 001: 安装JRebel插件

  • 在idea的Setting中选择安装插件        
           @maohoo Intellij idea15安装JRebel插件实现tomcat热部署

  • 在插件库中搜索jrebel,选择JRebel for Intellij , 点击右侧的Install绿色按钮,下载安装插件
                
                 @maohoo Intellij idea15安装JRebel插件实现tomcat热部署
        
                后出现下载完成,提示重启idea的按钮,点击Restart Intellij idea.

                 @maohoo Intellij idea15安装JRebel插件实现tomcat热部署

                 @maohoo Intellij idea15安装JRebel插件实现tomcat热部署

  • 验证JRebel插件是否安装,打开Setting 可以看到JRebel项,但是右侧提示“JRebel is not activated”,接下来说明如何破解JRebel插件
                 @maohoo Intellij idea15安装JRebel插件实现tomcat热部署
                

  • 002:破解JRebel插件
    
  • 推荐一个微信公众号,会定期提供最新版JRebel的破解工具,“最佳人生”,微信号“zuijiarensheng”.

  • 回复公众号,100,可以自动回复JRebel最新破解版的使用方法,但是里面为Eclipse版说明,idea类似
          @maohoo Intellij idea15安装JRebel插件实现tomcat热部署      

  • 回复公众号,200,可以自动回复最新版JRebel的破解版的压缩包,如,当前最新版JRebel6.3.2-agent-crack.

           @maohoo Intellij idea15安装JRebel插件实现tomcat热部署

  • 通过上面的链接,下载最新版的JRebel6.3.2-agent-crack置本地,例如E盘根目录

           @maohoo Intellij idea15安装JRebel插件实现tomcat热部署

  • 解压破解包           

           @maohoo Intellij idea15安装JRebel插件实现tomcat热部署

  • E:\jrebel_6.3.2-agent-crack\jrebel_6.3.2-agent-crack\lib下的jrebel.jar  覆盖到idea的插件配置目录,一般是当前用户目录下 C:\Users\Administrator\.IntelliJIdea15\config\plugins
                      
                     @maohoo Intellij idea15安装JRebel插件实现tomcat热部署

  • 覆盖jar包,包括plugins\jrebel和plugins\jrebel6两个文件夹
    • C:\Users\Administrator\.IntelliJIdea15\config\plugins\jr-ide-idea\lib\jrebel\jrebel.jar
    • C:\Users\Administrator\.IntelliJIdea15\config\plugins\jr-ide-idea\lib\jrebel6\jrebel.jar

  • 重启Intell idea , 打开Setting, 查看JRebel配置窗口             
    • 点击Activate now 
    @maohoo Intellij idea15安装JRebel插件实现tomcat热部署
                    

  • 选到第二个选项卡,I already have a license,然后选择第二个单选框,在本地选择jrebel.lic , 即 E:\jrebel_6.3.2-agent-crack\jrebel_6.3.2-agent-crack\lib\jrebel.lic

            @maohoo Intellij idea15安装JRebel插件实现tomcat热部署         

  • 然后点击Activate JRebel 

          @maohoo Intellij idea15安装JRebel插件实现tomcat热部署          

  • 另外回到JRebel的配置页面,可以查看激活信息

          @maohoo Intellij idea15安装JRebel插件实现tomcat热部署          
                    
  • 003:Module集成JRebel,这里以资源门户portal为例

  • 为moudle生成JRebel配置文件rebel.xml,选中moudle,右键选择JRebel的第二级操作项,rebel.xml

          @maohoo Intellij idea15安装JRebel插件实现tomcat热部署          

  • 修改rebel.xml的内容,第一个classpath为moudle的编译输出目录,如果配置对,一般不需要修改;第二个web为部署的根目录,默认是maven工程中的webapp,如果与artifacts中配置的不一致,可以修改,如,portal moudule的部署根目录为 F:\JavaWork\javasrc\product\cre\portal\target\portal, 所以需要修改第二个配置,另外target也需要修改为部署的moudle名称,如/portal

                  @maohoo Intellij idea15安装JRebel插件实现tomcat热部署   
            
                    改为:

            @maohoo Intellij idea15安装JRebel插件实现tomcat热部署        
            
  • 004:Tomcat集成JRebel,这里以apache-tomcat-7.0.59为例

  • 打开tomcat配置页面

              @maohoo Intellij idea15安装JRebel插件实现tomcat热部署      

  • 在VM options中增加   -noverify -javaagent:E:\jrebel_6.3.2-agent-crack\jrebel_6.3.2-agent-crack\lib\jrebel.jar -Drebel.spring_plugin=true 

  • 选择最后一个选项卡,“Startup/Connection”, 修改调试的端口号,例如 8013

                     @maohoo Intellij idea15安装JRebel插件实现tomcat热部署

  • 如何确认本地tomcat的调试端口?

  • 打开本地tomcat的bin目录下的catalina.bat , 查找JPDA_ADDRESS的设置值,即调试端口号

                               @maohoo Intellij idea15安装JRebel插件实现tomcat热部署

  • 至此,JRebel的配置工作结束,接下来做一个验证。

  • 005: JRebel热部署效果验证
        
  • 以JRebel调试模式启动Tomcat        

          @maohoo Intellij idea15安装JRebel插件实现tomcat热部署           

  • 以portal中的loadNoticeInitData方法为例,原有代码如下,注意下目前后台输出为:Call search loadNoticeCfg method..

            @maohoo Intellij idea15安装JRebel插件实现tomcat热部署                         

  • 修改后台代码,logger.debug("Call search loadNoticeCfg method already modified by JRebel.."); 

  • 由于Intellij idea 默认未开启自动编译,所以这里需要手动make一下moudle. 此时后台会有相应的Reload输出          

         @maohoo Intellij idea15安装JRebel插件实现tomcat热部署           

  • 再次刷新页面,查看后台输出,可以看到classes已经更新,证明JRebel已经正常工作,达到了热部署的目的。

          @maohoo Intellij idea15安装JRebel插件实现tomcat热部署                                       

  • 006:至此Intellij15 + Tomcat7 + JRebel 6.3.2的集成教程已经结束.
  • 007:最后说明一点,tomcat自身支持reloadable=true属性的设置,实测发现,reloadable=true也可以达到classes的重新编译,但是有一个区别,JReble可以精确只更新改动的class,而非JReble下,tomcat是重新启动一次这个war包。