分享

使用JRebel实现SpringBoot热部署

 Bladexu的文库 2020-01-02

前几天和各位朋友说过,springboot+shiro+redis +mybatis 项目出现了问题,因为热部署问题导致从redis 读取的对象,获取属性时报错,所以找了一下方法,也放了一篇文章,看到留言,说使用jrebel 实现热部署,我今天特意百度了一下,发现还是很不错的,所以把这篇文章发出来,希望可以帮到有需要的朋友:

实现SpringBoot热部署的方式

实际上Springboot已经提供了实现热部署的方法了。那就是你只需要引入依赖【springboot-devtools】就可以了 。具体可以参考这篇文章springboot-devtools 热部署

那为什么我们还需要JRebel呢?

  • 额外引入的依赖实际上生产环境并不需要,开发者引入后容易误提交到线上。
  • springboot-devtools方式的热部署在功能上有限制。如在方法内的修改可以实现热部署,但是新增的方法或者修改方法参数之后热部署是不生效的。
  • 相对于JRebel,springboot-devtools方式热部署的速度可能有点慢
JRebel实战idea下安装JRebel插件

安装JRebel插件很简单,只需要搜索一下就直接安装了。

使用JRebel实现SpringBoot热部署

1.png

注意:如果不是通过在线安装的话,一定要注意要下载最新版本的JRebel插件。不然低版本的插件很可能不支持你当前所使用的Springboot版本。

安装好之后工具栏会多两个图标。

使用JRebel实现SpringBoot热部署

安装好之后

激活JRebel插件

由于JRebel插件需要激活后才可以使用,所以安装之后要激活。虽然JRebel插件提供了试用期,但是只有14天的时间,所以对于想快速尝鲜的同学可以一试。不过如果你想要长期使用JRebel插件的话,那么就需要先激活才行。

激活JRebel插件我也是搜索了很长时间才搞定的。基本上网上的方法如下:

注册一个twitter或者facebook账号然后登陆就可以免费拿到激活码了。

然后我自己试了一下,JRebel现在已经关闭这种方式了。

使用JRebel实现SpringBoot热部署

关闭免费激活码

不过,黄天不负有心人啊,终于还是搜索到了。请参考这边文章来破解 Jrebel 2018.1 激活教程

激活好之后licese是绿色的,而且试用期为180天【我是18年6月8号注册的】。

使用JRebel实现SpringBoot热部署

激活后

使用JRebel插件

安装还之后就可以使用下面两种方式来run了。之后的所有修改就读可以实现热部署啦。

使用JRebel实现SpringBoot热部署

run with JRebel

使用JRebel插件注意点

由于JRebel是实时监控class文件的变化来实现热部署的,所以在idea环境下需要打开自动编译功能才能实现随时修改,随时生效。

  1. 在设置中打开自动编译
    如图,在设置中打开即可。
    自动编译

2.打开运行时编译
按快捷键 Shift+Ctrl+Alt+/ ,选择 Registry

使用JRebel实现SpringBoot热部署

打开运行时编译

\

勾选如图所示

使用JRebel实现SpringBoot热部署

8.png

JRebel官方文档

IntelliJ IDEA
Enable automatic compilation

JRebel实战效果

1.Run with JRebel

使用JRebel实现SpringBoot热部署

run with JRebel

2.演示修改效果

  • 方法内修改代码
    -----------------------------------------修改之前------------------------------------------------
    方法内修改代码之前1

使用JRebel实现SpringBoot热部署

方法内修改代码之前2

-----------------------------------------修改之后------------------------------------------------

使用JRebel实现SpringBoot热部署

方法内修改代码之后1

使用JRebel实现SpringBoot热部署

方法内修改代码之后2

  • 增加方法
    -----------------------------------------修改之前------------------------------------------------
    增加方法修改之前1
    增加方法修改之前2

-----------------------------------------修改之后------------------------------------------------

使用JRebel实现SpringBoot热部署

增加方法修改之后1

使用JRebel实现SpringBoot热部署

增加方法修改之后2

  • 修改配置文件
    -----------------------------------------修改之前------------------------------------------------
    修改配置文件之前1

使用JRebel实现SpringBoot热部署

修改配置文件之前2

使用JRebel实现SpringBoot热部署

修改配置文件之前3

-----------------------------------------修改之后------------------------------------------------

使用JRebel实现SpringBoot热部署

修改配置文件之后1

使用JRebel实现SpringBoot热部署

修改配置文件之后2

可以看到JRebel基本上满足了我们日常开发中的所有需求了。如果还有啥不满足的话,那么我估计JRebel在最新的版本中一定会有所体现的。

另外这一世一篇jrebel 实现web 项目的热部署。

jrebel+idea 进行热部署配置

https://www.cnblogs.com/yinfengjiujian/p/9100372.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多