- 简述:JRebel 是一款 JVM 插件,它使得 Java 代码修改后不用重启系统,立即生效。IDEA 上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,特别影响开发效率。目前对于 IDEA 热部署最好的解决方案就是安装 JRebel 插件。
下载安装 JRebel
IDEA 依次打开 File | Settings | Plugins → 搜索 JRebel 进行安装并重启 IDEA
激活 JRebel
方法一:JRebel 是一款收费的服务,可以通过官网进行激活码购买。
方法二:通过 github 项目进行激活。项目地址 https://github.com/ilanyu/Rev…
-
这里推荐将代理搭建在自己的服务器上
# 下载镜像 docker pull ilanyu/golang-reverseproxy # 以后台方式启动镜像,端口映射为 8888(端口请自行修改) docker run --name jrebel -d -p 8888:8888 ilanyu/golang-reverseproxy
在线生成 GUID 地址
搭建成功后激活地址为: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
到此教程结束,修改代码后就不用每次重启 tomcat