IDEA + SpringBoot 的三种热加载方案,第三种真香!
来源segmentfault.com/a/1190000044364882目录spring-boot-devtools【不推荐】IDEA 自带 HowSwap 功能【推荐】如何使用存在问题JRebel 插件【最推荐】如何安装如何使用在日常开发中我们需要经常修改 Java 代码手动重启项目查看修改后的效果。如果在项目小时重启速度比较快等待的时间是较短的。但是随着项目逐渐变大重启的速度变慢等待时间 1-2 min 是比较常见的。这样就导致我们开发效率降低影响我们的下班时间哈哈哈~那么是否有方式能够实现在我们修改完 Java 代码之后能够不重启项目呢答案是有的通过 代码热加载 的方式。实现方案有三种spring-boot-devtools【不推荐】IDEA 自带 HowSwap 功能【推荐】JRebel 插件【最推荐】1. spring-boot-devtoolsspring-boot-devtools 是 Spring Boot 提供的开发者工具它会监控当前应用所在的 classpath 下的文件发生变化进行自动重启。devtools 存在重启速度较慢的问题所以不推荐2. IDEA 自带 HowSwap 功能该功能是 IDEA Ultimate 旗舰版的专属功能不支持 IDEA Community 社区版。2.1 如何使用① 设置 Spring Boot 启动类开启 HotSwap 功能。如下图所示Image 3② Debug 运行该启动类等待项目启动完成。③ 每次修改 Java 代码后点击左下角的「热加载」按钮即可实现代码热加载。如下图所示Image 42.2 存在问题IDEA 自带 HowSwap 功能支持比较有限很多修改都不支持。例如说只能增加方法或字段但不可以减少方法或字段只能增加可见性不能减少只能维持已有方法的签名而不能修改等等。你可以认为只支持方法内的代码修改热加载。如果想要相对完美的方案建议使用 JRebel 插件。 欢迎加入小哈的星球你将获得:专属的项目实战多个项目 / 1v1 提问 /Java 学习路线 /学习打卡 / 每月赠书 / 社群讨论新项目《Spring AI 项目实战》正在更新中..., 基于 Spring AI Spring Boot 3.x JDK 21;《从零手撸仿小红书微服务架构》 已完结基于 Spring Cloud Alibaba Spring Boot 3.x JDK 17..., 点击查看项目介绍演示地址http://116.62.199.48:7070/《从零手撸前后端分离博客项目全栈开发》2期已完结,演示链接http://116.62.199.48/;专栏阅读地址https://www.quanxiaoha.com/column截止目前累计输出 100w 字讲解图 4013 张还在持续爆肝中..后续还会上新更多项目目标是将 Java 领域典型的项目都整一波如秒杀系统, 在线商城, IM 即时通讯Spring Cloud Alibaba 等等戳我加入学习解锁全部项目已有4200小伙伴加入3. JRebel 插件【最推荐】JRebel 插件是目前最好用的热加载插件它支持 IDEA Ultimate 旗舰版、Community 社区版。3.1 如何安装① 点击https://plugins.jetbrains.com/plugin/4441-jrebel-and-xrebel/versions地址必须下载 2022.4.1 版本。如下图所示Image 5② 打开 [Preference - Plugins] 菜单点击「Install Plugin from Disk...」按钮选择刚下载的 JRebel 插件的压缩包。如下图所示Image 6安装完成后需要重启 IDEA 生效。③ 打开 [Preference - JRebel XRebel] 菜单输入 GUID address 为https://jrebel.qekang.com/1e67ec1b-122f-4708-87d0-c1995dc0cdaa邮件随便写完成 JRebel 的激活。如下图所示Image 7之后点击「Work Offline」按钮设置 JRebel 为离线避免因为网络问题导致激活失效。如下图所示Image 83.2 如何使用① 点击「Debug With JRebel」按钮使用 JRebel 启动项目。如下图所示Image 9② 每次修改 Java 代码后点击左下角的「热加载」按钮即可实现代码热加载。如下图所示Image 10 欢迎加入小哈的星球你将获得:专属的项目实战多个项目 / 1v1 提问 /Java 学习路线 /学习打卡 / 每月赠书 / 社群讨论新项目《Spring AI 项目实战》正在更新中..., 基于 Spring AI Spring Boot 3.x JDK 21;《从零手撸仿小红书微服务架构》 已完结基于 Spring Cloud Alibaba Spring Boot 3.x JDK 17..., 点击查看项目介绍演示地址http://116.62.199.48:7070/《从零手撸前后端分离博客项目全栈开发》2期已完结,演示链接http://116.62.199.48/;专栏阅读地址https://www.quanxiaoha.com/column截止目前累计输出 100w 字讲解图 4013 张还在持续爆肝中..后续还会上新更多项目目标是将 Java 领域典型的项目都整一波如秒杀系统, 在线商城, IM 即时通讯Spring Cloud Alibaba 等等戳我加入学习解锁全部项目已有4200小伙伴加入1. 我的私密学习小圈子从0到1手撸企业实战项目~ 2. JDK17 前后写法对比差点没认出是 Java 3. 面试官TCP 和 UDP 的区别是什么 4. 面试官HTTPS 和 HTTP 的区别是什么最近面试BAT整理一份面试资料《Java面试BATJ通关手册》覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。 获取方式点“在看”关注公众号并回复 Java 领取更多内容陆续奉上。PS因公众号平台更改了推送规则如果不想错过内容记得读完点一下“在看”加个“星标”这样每次新文章推送才会第一时间出现在你的订阅列表里。 点“在看”支持小哈呀谢谢啦