- 简述:JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,特别影响开发效率。目前对于IDEA热部署最好的解决方案就是安装JRebel插件。
下载安装JRebel
IDEA 依次打开 File | Settings | Plugins → 搜索JRebel进行安装并重启IDEA
激活JRebel
方法一:JRebel是一款收费的服务,可以通过官网进行激活码购买。
方法二:通过github项目进行激活。项目地址 https://github.com/ilanyu/ReverseProxy/releases/latest
-
这里推荐将代理搭建在自己的服务器上
# docker 搭建代理 # 下载镜像 docker pull ilanyu/golang-reverseproxy # 以后台方式启动镜像,端口映射为8888(端口请自行修改) docker run --name jrebel -d -p 8888:8888 ilanyu/golang-reverseproxy
搭建成功后激活地址为: http://你的服务器ip:8888/{ GUID }
当然你的服务器还可以进行域名绑定,docker也可启用Https服务,激活地址可变为https://域名/{ GUID },此方式自行探索,我这里就不演示了。
-
打开IDEA开始激活JRebel(初次激活可能不太一样,但只要进入到激活面板就行)
点击Change license,进行已激活。激活成功界面
- 激活后一定要手动切换到离线模式,可离线180天,可随时重新点下“Renew Offline Seat”刷新激活周期,180天后激活状态会重新刷新 。
简单使用
-
激活后,菜单中会出现下面的,你就可以通过JRebel启动你的项目
-
启动之前需要添加rebel.xml(你要热部署哪个项目就直接勾选,会自动为你进行配置,rebel.xml里默认配置了两个路径,作用为监控变化)
-
正式启动,项目需要正确配置,例如使用Tomcat启动的项目,IDEA中的Tomcat依然要正确配置,启动时选择Run with JRebel而不是选择从前的run,JRebel会帮你启动Tomcat并热部署。
JRebel热部署不生效解决
-
打开 File | Settings | Build, Execution, Deployment | Compiler 勾选自动编译
Shift+Ctrl+Alt+/,选择Registry 勾选上compiler.automake.allow.when.app.running
-
检查是否添加了rebel.xml
-
手动编译当前文件
Ctrl + Shift + F9
网上流传编写mybatis.xml等文件,并不能热部署等,既然你能想到,官方也能,等着后期官方更新开发支持就好。
有疑问加站长微信联系(非本文作者)