JRebel是什么
JRebel 是国外团队开发的一款收费工具,JRebel 允许开发团队在有限的时间内完成更多的任务修正更多的问题,发布更高质量的软件产品,JRebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。
JRebel 是一款 JAVA 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。
JRebel安装方式
- 插件仓库安装(推荐)
打开IDEA,选择File
—>Settings
—>Plugins
—>在右侧选择Marketplace
,
在搜索框输入jrebel—>选择搜索结果—>点击Install(安装),如下图。
这里由于已经安装过了所以显示INSTALLED
- 下载zip文件包进行安装
下载地址:JRebel下载
按照以下操作步骤进行安装:- 下载插件。
- 下载后,打开IDEA,选择
File
—>Settings
—>Plugins
—>设置按钮—>Installed Plugin from Disk
(从文件夹选择已下载的插件安装)。
JRebel激活
安装之后需要重启IDEA,JRebel插件会提示需要激活,点击Jrebel Activation
进行激活。
若没有激活提示可打开
File
—>Settings
—>JRebel & XRebel
,点击右侧的Activate now
其中,Team URL可以使用在线GUID地址在线生成GUID
拿到GUID串之后,替换https://jrebel.qekang.com/{GUID}
中的{GUID}
即可,
下面邮箱地址可随便输入。
如果失败的话,刷新GUID重新替换即可。
如下图:
激活成功的提示
相关设置
- JRebel设置成离线工作模式
选择File
—>Settings
—>JRebel & XRebel
,点击右侧的WORK OFFLINE
设置成功结果如下图 - 设置自动编译
打开File
—>Settings
—>Build,Execution,Deployment
—>Compiler
—>勾选Build project automatically
。 - 打开运行时编译
按快捷键Ctrl
+Shift
+A
, 搜索Registry或者按快捷键Ctrl
+Shift
+Alt
+/
,选择Registry。
勾选compiler.automake.allow.when.app.running
选项
操作如下图:
PS: 2021.x.x版本之后的
compiler.automake.allow.when.app.running
选项用以上方式找不到了,需要采用以下方式:
打开File
—>Settings
—>Advanced Settings
, 找到右侧的Compiler
选项,然后勾选
JRebel的使用
- 注意:运行项目时要点击图中红框中的按钮,即可运行:而非原生的idea启动方式
第一个按钮是Run,第二个按钮是Debug。
- 修改热部署时间
打开File
—>Settings
—>JRebel & XRebel
,右侧找到time Saved Statistics
下面有个时间线,可以自己任意调,滑到最左边是1秒生效。
启动项目后控制台输出如下内容即为热部署已生效
热部署不生效解决方案
- 确保插件安装成功
- 确保启动了编辑器自动编译的功能
- 确保是以Jrebel方式启动
- 确保对项目进行了热部署的设置
在
View
—>Tool Windows
—>JRebel
中打开JRebel的视图,勾选上需要启动热部署的项目,具体效果如下图所示:
监控无效问题(设置指定的监控目录)
找到Jrebel的配置文件:rebel.xml
修改classpath下面的路径配置,改成当前项目的classes路径即可。
20221219更新
原来的https://jrebel.qekang.com/
地址已不可用,现使用另一种方式来激活。
下载激活软件:GitHub地址
下载后点击exe运行该程序,运行成功后如下图:
然后打开IDEA激活窗口,原来的URL改为http://127.0.0.1:8888/{GUID}
,后面的GUID进行替换。其他的操作不变,正常激活即可。
激活完成后再关闭刚才打开的程序窗口。
20230323更新
看到评论反馈说不知道怎么下载的,这里再补充一下
GitHub地址,点击进入之后,找到右边的Releases
,如图
点击vl.4
进入,然后根据需要下载对应的版本即可
下载慢的小伙伴可以直接访问下面这个链接
下载地址,提取码: dh39
20230616更新,附常见问题解决方案
-
启动项目时控制台输出Unable to connect to license server. Check your network connection and/or VPN settings.
如图解决方案: 可能是激活的时候出了差错,按照上面的教程重新激活下就ok了。
-
JRebel-JVMTI [FATAL] Couldn‘t write to C:\Users\
该问题是由于安装目录中存在中文名导致Jrebel无法识别
解决方案:
-
打开IDEA, 菜单栏点击
Help
->Edit Custom VM Options
-
在打开的文件最下面自定义一个启动项
Duser.home=xxx
,注意不要含有中文 -
点击
File
->Settings
,打开Jrebel的配置,找到Jrebel的安装路径中的jr-ide-idea
目录,默认在C盘,并复制该文件夹到自定义的启动路径中 -
在启动路径中,找到
jrebel.jar
并复制当前目录 -
修改Jrebel的安装路径,然后重启IDEA,重新运行项目即可
-