一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第19天,点击查看活动详情。
Jrebel热部署
问题背景描述
对于一个
java
后端开发人员来说,很多时候我们修改一些java
后端代码,或者一些mybatis
的xml文件
。如果想要立马看到效果,咱们就不得不重启项目,才能看到最终的效果!!!
对于这样的一个问题,很多时候,如果项目比较简单
,涉及到的模块也不多,重启项目,也就10来秒
左右!!!
大部分的程序员
,都直接忍了,重启就重启吧!!!^_^
哥们反手就给你个赞了!!!
可是,当你的项目不断的迭代
,功能不断的完善
,那你的项目,可能就会越来越庞大
,那这个时候,每次重启项目,就不再是原来的10来秒
了,可能就是30-40秒
了或者1分多钟
,那你还是按照原来的方式,那不得干废自己了?
这肯定是不能忍了呀!!!
说到这,可能就有人跳出来了,傻逼嘛,不是可以用devtools
嘛!!!
springboot
热部署,哥们之前已经分享过了,可以参考这里:点击查看
但是呢,使用了devtools
,最终的效果,还是不尽人意
!!!
为什么这么说呢?别急,且听哥们一一道来。
devtools
热部署,当你不是前后端分离
,例如一些:thymeleaf
页面的渲染方式时,确实当你的html
页面修改了,不用重启项目,都可以看到效果。这个确实是好的一方面。
但凡,有个但是,现在主流框架,大部分已经是前后端分离
,这好的一方面,也无了
!!!
当你修改java
后端代码,或者mybatis
的xml文件
时,也能立马看到效果,但是devtools
热部署的原理,也是重启项目!!!
那就比较恶心了呀:例如,你修改java代码
,当你写了一行代码,然后思考一下,或者网上复制粘贴一下时,devtools
就帮你重启项目了呀,只要你改了代码,停顿一下,就重启,这个操作,就是不断的循环重启
了。
网上复制粘贴
,有点真实了,哈哈!!!
综上:devtools
,没法用了呀!!!
那你有无解决的方案呢?
那肯定是有的,就是我们今天要讲的主要内容了:Jrebel开发神器-热部署
Jrebel热部署描述
JRebel
是一款JVM
插件,它使得Java代码修改后不用重启系统,立即生效!!!
所以说:Jrebel热部署
,是真正意义
上的热部署
了!!!
当我们修改一些java
后端代码,或者一些mybatis
的xml文件
的时候,Jrebel
可以做到,帮我们重新加载这些java
类,重新加载xml文件
,而不需要重启项目!!!
Jrebel热部署使用
idea中使用,这里idea的版本为2019.1.1
安装Jrebel
插件
1.在线安装
File
--> Settings
安装成功后,重启idea即可!!!^_^
2.离线安装
如果无法在线安装的,可以离线安装
。
官网下载插件:地址
选择我们刚下载好的插件:jr-ide-intellij-2022.2.0.zip
即可
这里选择Jrebel
版本为2022.2.0
Jrebel
激活破解
安装完成后,重启idea,可以看到以下界面,表示已经安装成功:
File
--> Settings
接下来,几时激活破解了!!^_^
GUID生成器:
点击该链接生成GUID:jrebel.cicoding.cn/guid
监听配置格式:
生成的如下:
jrebel.cicoding.cn/4B068EB5-09…
File
--> Settings
--> JRebel
点击 Chanage license
,填写URL
和邮箱地址
这里的url
,就是刚才,咱们生成的GUID
,再拼接http://jrebel.cicoding.cn
的值了。
邮箱地址,就是你个人的邮箱,这个没有限制!!!
最后,再点击 Chanage license
,就可以看到以下,激活成功的界面了!!!
就监听成功激活成功了!鼓掌!
Jrebel
使用教程
接下来,就是怎么使用Jrebel
热部署了!!!
看哥们操作!!!
打开我们的项目,可以看到,已经多了两个启动的图标
,和原来自带的差不多,一个是运行
,一个是调试
。
启动项目:
可以看到,有
Jrebel
打印的日志,表示使用了Jrebel
热部署!!!
接着,咱们测试一下,修改一下java
文件
可以看到,以下日志
:
JRebel: Reloading class 'xxxxx.SysConfigController'.
就是说我们修改了SysConfigController
类,JRebel
就帮我们Reloading
该类!!!
那这个不就是真正意义
上的热部署
了嘛!!!
修改哪里,就reload哪里!!!确实牛呀!!!
今天就先到这里了,溜了溜了溜了!!!^_^