问题描述:
在日常开发工作中,代码出现问题时往往要不停的修改测试验证其正确性。每一次修改代码都需要重启项目,十分耗时,对于企业大型项目来说重启一次项目的时间够你去喝杯咖啡了。为了减少项目重启的时间所以来介绍这款插件工具JRebel
JRebel介绍:
JRebel是一款JVM插件,它使得Java代码修改后不用重启项目,立即生效。IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启项目,才能生效,浪费时间浪费生命。
目前对于idea热部署最好的解决方案就是安装JRebel插件
spring-boot-devtools 与 JRebel 对比
对于使用过SpringBoot框架人来说,对热更新并不陌生,因为它本身就支持这项功能,但是需要引用一个叫做spring-boot-devtools的jar包,其效果速度和JRebel就差的更远了。
总结下来它的缺点也很明显:
因为需要增加Maven依赖,但生产环境并不需要它,springboot-devtools方式的热部署在功能上有限制的。比如说你新增一个方法或修改方法的参数,就不生效了,就速度来说,devtools在JRebel面前就是个弟弟
JRebel安装与激活
- 安装JRebel :
Step1 在IDEA中一次点击 File -》 Settings -》 Plugins -》 Borws Repositories
Step2 在搜索框中输入JRebel 进行搜索
Step3 找到JRebel and XRebel for Intellij
Step4 install
Step5 安装好之后需要重启 restart IDEA
激活JRebel
JRebel 不是免费的插件,需要激活后才可以使用。
1.首先到github上去下载一个反向代理的软件,这里下载的是windows x64版本。
下载地址
https://github.com/ilanyu/ReverseProxy/releases/tag/v1.4
- 双击运行我们下载的程序
- 在IDEA中点击 File -》Settings -》JRebel 并找到激活页面(因为我的已经激活了,点击change liense进入的激活界面,记不清一开始怎么进入的了)
- 选择JRebel activated 中的 connect to online liceensing service
第一行输入 http://127.0.0.1:8888/d3545f42-7b88-4a77-a2da-5242c46d4bc2
第二行输入正确的邮箱地址,例如: test@123.com
再点击以下change liense 按钮验证激活
提示:d3545f42-7b88-4a77-a2da-5242c46d4bc2为UUID,可以自己生成,并且必须是UUID才能通过验证
- 最后别忘了把JRebel设置为离线工作模式,点一下work offline。
JRebel 使用
此时已经安装好并已激活,我们使用 JRebel debug的时候,修改代码,不能实现热部署,因此还需要设置其他地方
1.项目自动编译
2. 设置 compiler.automake.allow.when.app.running
ctrl+shift+A 或者 help->find action…打开
搜索registry
找到 compiler.automake.allow.when.app.running 并✔
3.找到 View 菜单 ——》 Tool Windows -》 JRebel
勾选需要热部署的应用
然后启动服务测试
修改业务代码后 按 Ctrl + Shift + F9