JRebel热部署

JRebel是什么?

是一款idea插件,能够是的代码能够进行热部署测试.

详细来自: https://blog.csdn.net/weixin_42694593/article/details/126448828

JRebel是一套JavaEE开发工具。
Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。
JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel使你能即时分别看到代码、类和资源的变化,你可以一个个地上传而不是一次性全部部署。当程序员在开发环境中对任何一个类或者资源作出修改的时候,这个变化会直接反应在部署好的应用程序上,从而跳过了构建和部署的过程,可以省去大量的部署用的时间。

激活

csdn最新激活文章: https://blog.csdn.net/qq251708339/article/details/134105044

激活网站: https://www.jpy.wang/page/jrebel.html

idea插件配置

在idea中激活了JRabel插件之后

  1. 将插件设置成离线模型运行
  2. 设置自动编译,这样可以减少我们点击重新编译的时间
  3. 打开运行时编译,这样就可以在运行时更新class文件了
  4. 重新构建项目,此时更新就可以上线(或者开启自动编译,这样随时会更新)

设置成离线模式

点击work offline 工作离线

image-20240612192204733

这样我们就不用受到更新的麻烦,激活的jrabel也可以一直运行

设置自动编译

当源代码发生改变,就会自动编译,具体频率取决于

设置自动编译
打开File—>Settings—>Build,Execution,Deployment—>Compiler—>勾选Build project automatically

设置运行时编译

设置compiler.automake.allow.when.app.running

快捷键ctrl+shift+A,搜索:registry
或者按快捷键 Ctrl+Shift+Alt+/ ,选择 Registry
在这里插入图片描述

PS: 2021.x.x版本之后的compiler.automake.allow.when.app.running选项用以上方式找不到了,需要采用以下方式:
打开File—>Settings—>Advanced Settings, 找到右侧的Compiler选项,然后勾选
在这里插入图片描述

开始运行

因为jRabel实际上是java虚拟机插件,所以我们在启动项目的时候不能使用idea原生启动,而是使用jrabel的启动按钮

如何使用

1 使用JRebel的运行方式

  1. 注意:运行项目时要点击图中红框中的按钮,即可运行:而非原生的idea启动方式

第一个按钮是Run,第二个按钮是Debug。

  1. 一定要为项目勾选这个

image-20240612201348302

点击侧边栏中的jRebel,在弹出的界面中勾选这两项

image-20240612201417937

也许有一项无法选中,这不是什么问题,现在只需要我们重新编译任何一个class文件,就可以热部署上去

修改热部署时间

打开File—>Settings—>JRebel & XRebel,右侧找到time Saved Statistics
下面有个时间线,可以自己任意调,滑到最左边是1秒生效。
在这里插入图片描述
启动项目后控制台输出如下内容即为热部署已生效

在这里插入图片描述

注意

JreBel不适用于resources包下面的文件,修改此包下面的必须重启,否则不生效。
使用JRebel实现热部署

JRebel依赖于IDE的编译功能,某个被更改的类只有被IDE重新编译后才能触发JRebel的重新加载。

在SpringBoot项目中,可以使用以下编译方式:

1.手动编译

使用快捷键Ctrl+Shift+F9手动编译某个类,编译后JRebel将重新加载该类。

2.IDEA失去焦点时自动编译

修改Edit Configurations>Run/Debug Configurations中对应配置,


JRebel热部署
https://wainyz.online/wainyz/2024/05/10/JRebel热部署/
作者
wainyz
发布于
2024年5月10日
许可协议