关于在IDEA热部署插件JRebel使用问题详解

问题描述:

在日常开发工作中,代码出现问题时往往要不停的修改测试验证其正确性。每一次修改代码都需要重启项目,十分耗时,对于企业大型项目来说重启一次项目的时间够你去喝杯咖啡了。为了减少项目重启的时间所以来介绍这款插件工具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安装与激活

1.安装JRebel :

Step1 在IDEA中一次点击 File -》 Settings -》 Plugins -》 Borws Repositories
Step2 在搜索框中输入JRebel 进行搜索
Step3 找到JRebel and XRebel for Intellij
Step4 install
Step5 安装好之后需要重启 restart IDEA

关于在IDEA热部署插件JRebel使用问题详解_第1张图片

激活JRebel
JRebel 不是免费的插件,需要激活后才可以使用。
1.首先到github上去下载一个反向代理的软件,这里下载的是windows x64版本。
下载地址
https://github.com/ilanyu/ReverseProxy/releases/tag/v1.4

关于在IDEA热部署插件JRebel使用问题详解_第2张图片

双击运行我们下载的程序

关于在IDEA热部署插件JRebel使用问题详解_第3张图片

在IDEA中点击 File -》Settings -》JRebel 并找到激活页面(因为我的已经激活了,点击change liense进入的激活界面,记不清一开始怎么进入的了)

关于在IDEA热部署插件JRebel使用问题详解_第4张图片

选择JRebel activated 中的 connect to online liceensing service

第一行输入 http://127.0.0.1:8888/d3545f42-7b88-4a77-a2da-5242c46d4bc2
第二行输入正确的邮箱地址,例如: [email protected]
再点击以下change liense 按钮验证激活
提示:d3545f42-7b88-4a77-a2da-5242c46d4bc2为UUID,可以自己生成,并且必须是UUID才能通过验证

关于在IDEA热部署插件JRebel使用问题详解_第5张图片

最后别忘了把JRebel设置为离线工作模式,点一下work offline。

关于在IDEA热部署插件JRebel使用问题详解_第6张图片

JRebel 使用

此时已经安装好并已激活,我们使用JRebel debug的时候,修改代码,不能实现热部署,因此还需要设置其他地方
1.项目自动编译

关于在IDEA热部署插件JRebel使用问题详解_第7张图片

2. 设置 compiler.automake.allow.when.app.running
ctrl+shift+A 或者 help->find action…打开
搜索registry
找到 compiler.automake.allow.when.app.running 并✔

关于在IDEA热部署插件JRebel使用问题详解_第8张图片

3.找到 View 菜单 ——》 Tool Windows -》 JRebel
勾选需要热部署的应用

关于在IDEA热部署插件JRebel使用问题详解_第9张图片
关于在IDEA热部署插件JRebel使用问题详解_第10张图片

然后启动服务测试

修改业务代码后 按 Ctrl + Shift + F9

到此这篇关于关于在IDEA热部署插件JRebel使用问题详解的文章就介绍到这了,更多相关IDEA热部署插件JRebel使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(关于在IDEA热部署插件JRebel使用问题详解)