当前位置: 首页 > news >正文

IDEA集成JRebel插件,实现实时热部署

系列文章目录

文章目录

  • 系列文章目录
  • 一、JRebel是什么?
    • 1.1、对比传统开发流程
    • 1.2、JRebel特性以及优势
  • 二、IDEA集成JRebel
  • 三、IDEA以JRebel运行报错处理
  • 四、IDEA以JRebel运行演示实时热部署


一、JRebel是什么?

JRebel 是一款针对 Java 开发的热部署工具,主要用于提升开发效率。它的核心作用是避免重复启动应用,允许开发者在修改代码后立即看到变更效果,而无需重启服务器或重新部署应用。

1.1、对比传统开发流程

场景传统方式JRebel方式
修改单个JAVA类代码重启整个应用立即生效(一般3秒左右),无需重启应用
修改Spring配置或者Mybatis的XML文件重启整个应用自动重新加载配置
调式Debug时,修改代码逻辑重启后丢失会话保持状态,继续调试

1.2、JRebel特性以及优势

(1) 实时热部署(Hot Reloading)

1.修改 Java 代码(如类、方法、字段等)后,JRebel 会动态加载变更,直接生效,省去传统开发中的“编译→部署→重启”流程。
2.容 Spring、Spring Boot、Jakarta EE、Hibernate、MyBatis 等主流框架,对注解、配置文件的修改也能实时生效。

(2) 节省开发时间

1.传统重启可能需要几十秒甚至几分钟,而 JRebel 的实时更新几乎无延迟。
2.项目越复杂,重启耗时越长,JRebel 的收益越明显。

(3) 调试友好

热部署不会重置应用状态(如会话、数据库连接),调试时能保持上下文,避免重复操作。


二、IDEA集成JRebel

(1)点击IDEA左上方File按钮后,选择Settings,点击后打开IDEA设置面板。也可以通过快捷键Ctrl+Alt+S进行打开
在这里插入图片描述
(2)点击Plugins按钮,切换到Marketplace后,搜索JRebel插件并点击Install进行安装。
在这里插入图片描述
(3)安装完成后,重启IDEA,会发现IDEA左右两边多了几个图标。这表面JRebel插件已经安装完成。
在这里插入图片描述
(4)打开Settings面板,点击JRebel&Settings后,点击Actvice license按钮激活JRebel
在这里插入图片描述
(5)填写激活码,免费的激活码: https://jrebel.chatsbot.org/34feb0a0-b0f6-4a55-bd02-c960c42d101f,邮件地址随便填写一个,勾选同意后,点击Activce进行激活。
在这里插入图片描述
(6)提示JRebel activated后,表示激活完成。重启IDEA!!!
在这里插入图片描述
(6)在此点击JRebel&XRebel可以看到已经是Active状态。
在这里插入图片描述
(7)尝试使用JRebel进行Debug运行,如果控制台打印出JRebel日志,则表示JRebel运行成功。
在这里插入图片描述


三、IDEA以JRebel运行报错处理

有些Windows登录用户是使用中文名字,那么在使用JRebel运行时,可能出现一下报错
JRebel-JVMTI [ERROR] You’re using an incompatible ‘jrebel.jar’ with the JRebel Agent,如果您以JRebel运行项目时报这个错误,多半是由于中文用户名称导致的,解决方案参考一下文章:JRebel-JVMTI [ERROR] You’re using an incompatible ‘jrebel.jar’ with the JRebel Agent.【完美解决方案】


四、IDEA以JRebel运行演示实时热部署

以下代码是一个controller接口代码,调用该方法后,返回一个Hello!

    @AnInterfaceRateLimiter(rate = 5, rateInterval = 10, rateIntervalUnit = RateIntervalUnit.SECONDS)@AnonymousPostMapping(value = "/rateLimiterInterface", consumes = MediaType.APPLICATION_JSON_VALUE)public ResponseResult rateLimiterInterface() {return ResponseResult.success("Hello!");}

在这里插入图片描述
我们尝试将返回值Hello!改为Hello!JRebel!,等待JRebel自动更新代码。
在这里插入图片描述
再次使用PostMan访问,可以发现返回值已经改变,这表明JRebel热部署生效了。
在这里插入图片描述

http://www.lqws.cn/news/127837.html

相关文章:

  • vue2 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死
  • Windows系统下npm报错node-gyp configure got “gyp ERR“解决方法
  • 【从0-1的HTML】第3篇:html引入css的3种方式
  • 通过ca证书的方式设置允许远程访问Docker服务
  • C++ 中的 const 知识点详解,c++和c语言区别
  • HTMLCSS 学习总结
  • Server - 使用 Docker 配置 PyTorch 研发环境
  • 【RAG优化】rag整体优化建议
  • Git的使用技巧
  • Transformer-BiLSTM、Transformer、CNN-BiLSTM、BiLSTM、CNN五模型时序预测
  • STM32的ADC简介
  • STM32----IAP远程升级
  • 理解继承与组合的本质:Qt 项目中的设计选择指南
  • 基于cnn的通用图像分类项目
  • 从npm库 Vue 组件到独立SDK:打包与 CDN 引入的最佳实践
  • ann算法的种类有哪些,之间的区别,各自的适用场景
  • [蓝桥杯]填字母游戏
  • 开发源码搭建一码双端应用分发平台教程:逐步分析注意事项
  • # Vue + OpenLayers 完整项目开发指南
  • 物联网协议之MQTT(一)基础概念和设备
  • C++内存列传之RAII宇宙:智能指针
  • 20-项目部署(Docker)
  • haribote原型系统改进方向
  • 编程笔试练习(1)
  • 6.4本日总结
  • mac版excel如何制作时长版环形图
  • Delft3D软件介绍及建模原理和步骤;Delft3D数值模拟溶质运移模型建立;地表水环境影响评价报告编写思路
  • 破解HTTP无状态:基于Java的Session与Cookie协同工作指南
  • 华为云服务器 Java 项目部署 “版本穿越” 危机破解指南
  • 机器学习基础(四) 决策树