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插件之后
- 将插件设置成离线模型运行
- 设置自动编译,这样可以减少我们点击重新编译的时间
- 打开运行时编译,这样就可以在运行时更新class文件了
- 重新构建项目,此时更新就可以上线(或者开启自动编译,这样随时会更新)
设置成离线模式
点击work offline 工作离线
这样我们就不用受到更新的麻烦,激活的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的运行方式
- 注意:运行项目时要点击图中红框中的按钮,即可运行:而非原生的idea启动方式
第一个按钮是Run,第二个按钮是Debug。
- 一定要为项目勾选这个
点击侧边栏中的jRebel,在弹出的界面中勾选这两项
也许有一项无法选中,这不是什么问题,现在只需要我们重新编译任何一个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中对应配置,