使用JRebel实现热部署

情景:

  1. xx-biz里的XXServiceImpl有问题,改;
  2. mvn install,等;
  3. 重启应用,等;
  4. 李大爷说还是有问题,再改,回到步骤1;

以上情景相信大家并不陌生。然后,不知道大家有没有统计过每天浪费在【编译】+【重启应用】的时间有多少呢?浪费时间的同时也十分影响工作情绪,也容易打断思路。

为此,本人尝试用了一下JRebel,分享一下。

  1. 安装JRebel插件(这里以Intelij IDEA为例);p1.png
  2. UNO
  3. 打开左侧的JRebel标签,将需要热部署的Maven模块打勾(这里以supplier-web为例),然后IDE会自动在打勾模块下的src/main/resources下生成rebel.xml建议在.gitignore文件中添加rebel.xml,防止提交到git仓库);p2.png
  4. 打开supplier-web-publish下的pom.xml,将jetty插件的scanIntervalSeconds的值设为0,关闭jetty的自动重启;p3.png
  5. 点击右上角的Debug with JRebel,以debug模式启动项目;p4.png
  6. 在项目运行的状态下,尝试修改Java代码,然后重新编译该文件(右键,Compile ‘…….java’);
  7. 如果控制台出现以下信息,表示JRebel已经能正常运作了;p5.png
  8. Fly me to the moon and let me play among the stars.

Save time, save life.