乐趣区

IDEAJRebel实现全自动热部署

  • 简述: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 热部署不生效解决

  1. 打开 File | Settings | Build, Execution, Deployment | Compiler 勾选自动编译

  2. Shift+Ctrl+Alt+/,选择 Registry 勾选上 compiler.automake.allow.when.app.running

  3. 检查是否添加了 rebel.xml

  4. 手动编译当前文件 Ctrl + Shift + F9

到此教程结束,修改代码后就不用每次重启 tomcat

退出移动版