IDEA+JRebel实现全自动热部署的方法步骤

作者:yiyayiya 时间:2023-11-29 13:53:30 

简述:JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,特别影响开发效率。目前对于IDEA热部署最好的解决方案就是安装JRebel插件。

下载安装JRebel

IDEA 依次打开 File | Settings | Plugins → 搜索JRebel进行安装并重启IDEA

IDEA+JRebel实现全自动热部署的方法步骤

激活JRebel

方法一:JRebel是一款收费的服务,可以通过官网进行激活码购买。

方法二:通过github项目进行激活。项目地址 https://github.com/ilanyu/ReverseProxy/releases/latest

这里推荐将代理搭建在自己的服务器上


# 下载镜像
docker pull ilanyu/golang-reverseproxy
# 以后台方式启动镜像,端口映射为8888(端口请自行修改)
docker run --name jrebel -d -p 8888:8888 ilanyu/golang-reverseproxy

IDEA+JRebel实现全自动热部署的方法步骤

在线生成GUID地址

搭建成功后激活地址为: http://你的服务器ip:8888/{ GUID }

当然你的服务器还可以进行域名绑定,docker也可启用Https服务,激活地址可变为https://域名/{ GUID },此方式自行探索,我这里就不演示了。

打开IDEA开始激活JRebel(初次激活可能不太一样,但只要进入到激活面板就行)

IDEA+JRebel实现全自动热部署的方法步骤

IDEA+JRebel实现全自动热部署的方法步骤

点击Change license,进行已激活。激活成功界面

IDEA+JRebel实现全自动热部署的方法步骤

激活后一定要手动切换到离线模式,可离线180天,可随时重新点下“Renew Offline Seat”刷新激活周期,180天后激活状态会重新刷新 。

IDEA+JRebel实现全自动热部署的方法步骤

简单使用

激活后,菜单中会出现对应图标,你就可以通过JRebel启动你的项目

IDEA+JRebel实现全自动热部署的方法步骤

IDEA+JRebel实现全自动热部署的方法步骤

启动之前需要添加rebel.xml(你要热部署哪个项目就直接勾选,会自动为你进行配置,rebel.xml里默认配置了两个路径,作用为监控变化)

IDEA+JRebel实现全自动热部署的方法步骤

正式启动,项目需要正确配置,例如使用Tomcat启动的项目,IDEA中的Tomcat依然要正确配置,启动时选择Run with JRebel而不是选择从前的run,JRebel会帮你启动Tomcat并热部署。

IDEA+JRebel实现全自动热部署的方法步骤

IDEA+JRebel实现全自动热部署的方法步骤

JRebel热部署

不生效解决打开 File | Settings | Build, Execution, Deployment | Compiler 勾选自动编译

IDEA+JRebel实现全自动热部署的方法步骤

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

IDEA+JRebel实现全自动热部署的方法步骤

IDEA+JRebel实现全自动热部署的方法步骤

检查是否添加了rebel.xml

IDEA+JRebel实现全自动热部署的方法步骤

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

IDEA+JRebel实现全自动热部署的方法步骤

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

来源:https://segmentfault.com/a/1190000021061935

标签:IDEA,JRebel,热部署
0
投稿

猜你喜欢

  • SpringBoot 3.0 新特性内置声明式HTTP客户端实例详解

    2022-11-25 13:47:20
  • 在WinForm中发送HTTP请求的实现方法

    2023-01-28 10:47:35
  • Android游戏开发学习②焰火绽放效果实现方法

    2023-10-26 08:54:53
  • Java模拟有序链表数据结构的示例

    2023-09-26 22:25:30
  • Java实现二叉搜索树的插入、删除功能

    2023-07-15 20:54:53
  • PowerManagerService之手动灭屏流程示例分析

    2023-01-13 17:11:51
  • Android音视频开发之VideoView使用指南

    2022-11-20 11:14:52
  • Java使用组件编写窗口实现网上文件下载

    2023-09-14 06:08:36
  • Java中定时器Timer致命缺点案例详解

    2022-08-27 08:38:45
  • Android中GPS坐标转换为高德地图坐标详解

    2023-10-07 20:40:24
  • java微信开发中的地图定位功能

    2023-01-27 17:37:52
  • Android开发之利用jsoup解析HTML页面的方法

    2023-03-31 19:03:03
  • java map中相同的key保存多个value值方式

    2022-12-12 20:05:45
  • springboot自定义starter方法及注解实例

    2022-11-02 10:52:08
  • SpringMVC文件上传中要解决的问题大汇总

    2023-09-02 06:09:20
  • C#显示文件夹下所有图片文件的方法

    2021-11-25 23:50:10
  • Android 自定义gradle property详解及实例代码

    2022-05-08 15:17:49
  • java 实现文件夹的拷贝实例代码

    2023-01-04 10:19:28
  • C# .NET 中的缓存实现详情

    2023-05-30 18:35:12
  • C语言程序设计50例(经典收藏)

    2023-07-10 08:33:19
  • asp之家 软件编程 m.aspxhome.com