前言

Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。

IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费时间浪费生命,目前对于idea热部署最好的解决方案就是安装JRebel插件。JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。它使得Java代码修改后不用重启系统,立即生效。

安装

第一步:安装插件

Javaagent 热部署 jre热部署_ide

第二步:在线GUID地址:在线生成GUID

网址:在线GUID地址

Javaagent 热部署 jre热部署_用户名_02

如果失效刷新GUID替换就可以!

服务器地址:https://jrebel.qekang.com/{GUID}

第三步:打开jrebel 如下所示面板,选择Connect to online licensing service

Javaagent 热部署 jre热部署_重启_03

第四步:设置成离线工作模式

Javaagent 热部署 jre热部署_重启_04

第五步:设置自动编译

Javaagent 热部署 jre热部署_ide_05

第六步:设置compiler.automake.allow.when.app.running

快捷键ctrl+shift+A,搜索:registry
或者
按快捷键 Ctrl+Shift+Alt+/ ,选择 Registry

Javaagent 热部署 jre热部署_java_06

Javaagent 热部署 jre热部署_用户名_07

使用

安装成功之后就可以通过JRebel启动项目。

Javaagent 热部署 jre热部署_java_08

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

修改代码(只测试了Java代码的修改)后,按快捷键 Ctrl + Shift + F9,运行后会提示有变化是否重新加载,选yes。完成加载以后,就已经实现了热更新效果。

报错

JRebel-JVMTI [FATAL] Couldn‘t write to C:\Users\问题解决方法

其实JRebel-JVMTI [FATAL] Couldn’t write to C:\Users\ 这个问题就是由于系统用户名是中文引起的。 既然是中文的问题,那么我们就在提示里面直接搜中文,得到两个中文的路径问题。

所以来说:只要将这两个的路径设置为自己创建的没有中文的路径即可,我们可以在里面提示的路径上找到对应的文件。例如:

C:\Users\你的用户名.jrebel
C:\Users\你的用户名\AppData\Roaming\JetBrains\IdeaIC2022.1\plugins\jr-ide-idea

那么怎么修改路径并解决问题呢?

创建一个文件夹,自己想创建在哪里都可以,将两个文件复制并放到里面

Javaagent 热部署 jre热部署_ide_09

修改idea设置

Javaagent 热部署 jre热部署_重启_10

设置idea的启动配置

Javaagent 热部署 jre热部署_ide_11

-Drebel.base=D:\yang\jrebel.jrebel 自己的文件路径

Javaagent 热部署 jre热部署_Javaagent 热部署_12