一起养成写作习惯!这是我参与「掘金日新计划 · 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哪里!!!确实牛呀!!!
今天就先到这里了,溜了溜了溜了!!!^_^