代码热加载

代码热加载

在日常开发中,我们需要经常修改 Java 代码,手动重启项目,查看修改后的效果。如果在项目小时,重启速度比较快,等待的时间是较短的。但是随着项目逐渐变大,重启的速度变慢,等待时间 1-2 min 是比较常见的。

这样就导致我们开发效率降低,影响我们的下班时间,哈哈哈~

那么是否有方式能够实现,在我们修改完 Java 代码之后,能够不重启项目呢?答案是有的,通过 代码热加载 的方式。实现方案有三种:

  1. spring-boot-devtools【不推荐】
  2. IDEA 自带 HowSwap 功能【推荐】
  3. JRebel 插件【最推荐】

1. spring-boot-devtools

spring-boot-devtools (opens new window)是 Spring Boot 提供的开发者工具,它会监控当前应用所在的 classpath 下的文件发生变化,进行自动重启

devtools 存在重启速度较慢的问题,所以不推荐!

2. IDEA 自带 HowSwap 功能

该功能是 IDEA Ultimate 旗舰版的专属功能,不支持 IDEA Community 社区版。

2.1 如何使用

① 设置 Spring Boot 启动类,开启 HotSwap 功能。如下图所示:

file

② Debug 运行该启动类,等待项目启动完成。

③ 每次修改 Java 代码后,点击左下角的「热加载」按钮,即可实现代码热加载。如下图所示:

file

2.2 存在问题

IDEA 自带 HowSwap 功能,支持比较有限,很多修改都不支持。例如说:

  • 只能增加方法或字段但不可以减少方法或字段
  • 只能增加可见性不能减少
  • 只能维持已有方法的签名而不能修改等等。

你可以认为,只支持方法内的代码修改热加载。

如果想要相对完美的方案,建议使用 JRebel 插件。

3. JRebel 插件【最推荐】

JRebel 插件是目前最好用的热加载插件,它支持 IDEA Ultimate 旗舰版、Community 社区版。

3.1 如何安装

① 点击 https://plugins.jetbrains.com/plugin/4441-jrebel-and-xrebel/versions (opens new window)地址,必须下载 2022.4.1 版本。如下图所示:

file

② 打开 [Preference -> Plugins] 菜单,点击「Install Plugin from Disk...」按钮,选择刚下载的 JRebel 插件的压缩包。如下图所示:

file

安装完成后,需要重启 IDEA 生效。

③ 打开 [Preference -> JRebel & XRebel] 菜单,输入 GUID address 为 https://jrebel.qekang.com/1e67ec1b-122f-4708-87d0-c1995dc0cdaa ,邮件随便写,完成 JRebel 的激活。如下图所示:

file

之后,点击「Work Offline」按钮,设置 JRebel 为离线,避免因为网络问题导致激活失效。如下图所示:

file

3.2 如何使用

① 点击「Debug With JRebel」按钮,使用 JRebel 启动项目。如下图所示:

file

② 每次修改 Java 代码后,点击左下角的「热加载」按钮,即可实现代码热加载。如下图所示:

file

质量拉满,涵盖高质量开源项目,欢迎来访,博主个人开源博客地址: https://www.chengke.net

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChengKe---Dawn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值