JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel使你能即时分别看到代码、类和资源的变化,你可以一个个地上传而不是一次性全部部署。当程序员在开发环境中对任何一个类或者资源作出修改的时候,这个变化会直接反应在部署好的应用程序上,从而跳过了构建和部署的过程,每年可以省去部署用的时间花费高达5.25个星期。

一、热部署

在使用了JRebel之后,重复的调试重启应用时间得到了大幅度的节省。而这一切都归功于JRebel的热部署,那什么是热部署呢。热部署的意思是,在应用运行期间更新功能、代码,却不需要重启应用
重点就在于我们更新了代码之后不需要重启Tomcat就能即时生效,虽然我们也能够在进行了小改动之后也能够进行自动编译,但是在增加了类或者方法之后,这就必须要通过重启应用才能生效了。对比以前我们需要频繁的重启应用才能调试刚更改的代码内容,在不需要重启应用的基础上我们能够每年节省5.25个星期的部署时间,真的不是吹。

二、JRebel的使用

  • 1.安装
    在这里我只介绍在IntelliJ IDEA中如何安装Jrebel。首先,我们打开setting中的Plugin,直接搜索JRebel进行安装下载。
  • eclipes热部署 jrebel热部署原理_热部署

  • 在安装完之后重启IDEA之后就能看到界面上多了些东西:
  • eclipes热部署 jrebel热部署原理_JAVA_02


  • eclipes热部署 jrebel热部署原理_热部署_03

  • 这些都是安装了JRebel插件之后所增加的内容,接下来我们需要对此进行简单的配置。
    特别说明:该插件是付费插件,目前有许多破解教程,在这里就不做赘述,请参考该博客进行破解Intellij热部署插件JRebel的激活教程
  • 2.配置
    首先需要在Tomcat中配置以下内容,将Update classes and resource给勾选上
  • eclipes热部署 jrebel热部署原理_重启_04

  • setting->JRebel,默认界面中应该是Work offline,我这里已经启用了work offlin模式,建议你也将work offline开启,采用离线模式即可。
  • eclipes热部署 jrebel热部署原理_eclipes热部署_05

  • setting->Buile,Execution,Deployment->Compiler,将Build project automatically勾选上
  • eclipes热部署 jrebel热部署原理_热部署_06

  • 3.热部署启动
    经过以上的配置,我们终于可以进行热部署启动了。注意页面上的启动按钮,
  • eclipes热部署 jrebel热部署原理_eclipes热部署_07

  • 之前我们是通过点击前面两个按钮进行启动和调试启动,现在我们就应该通过后面两个按钮分别对应进行热部署启动,热部署调试启动,推荐使用热部署调试启动。
    控制台输出了以下内容,即表示正在以热部署模式启动,也意味着我们热部署成功了。
  • eclipes热部署 jrebel热部署原理_热部署_08

三、总结

几年前实习的时候,觉得热部署挺高大上的,而且破解激活的资料也没有现在那么多。当时还记得是通过公司搭的一个内网环境进行统一破解,而现在破解激活的渠道就非常多了,还是很感谢开源社区的开源精神能够让我们接触到需要好用的工具,当然如果有经济基础还是强烈推荐使用正版付费插件。

参考资料: