IDEA 2018.3版本Spring Boot 热部署

本文介绍了如何在IDEA 2018.3版本中实现SpringBoot项目的热部署。通过尚硅谷视频教程学习了SpringBoot热部署,使用Spring DevTools实现了快速重启。然而,这并非真正的热部署,而是热重启,因为它仍需重启应用。随后,作者发现IDEA自带的HotSwap功能可以实现真正的热部署,无需重启即可更新接口。在设置中调整更新类和资源选项,并以Debug模式运行,当IDEA失去焦点时自动编译并提示类已被重新加载,显著提高了开发效率。但需要注意,HotSwap并非总是成功,遇到代码错误时编译会失败。删除代码后若未正确更新,可能仍能访问旧接口,这时建议重启项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IDEA 2018.3版本Spring Boot 热部署

看了B站尚硅谷的"尚硅谷SpringCloud框架开发教程(SpringCloudAlibaba微服务分布式架构丨Spring Cloud)"视频的P11,讲热部署,分如下5个步骤:
尚硅谷热部署devTools5部走
刚好现在我觉得每次改了代码,要用POSTMAN测试的时候,每次都要重启项目,重启一次耗时大概1分钟左右感觉很慢,所以我尝试了一下:

我的按照老师的步骤,注意第5步有点点不一样
我的按照老师的步骤,注意第5步有点点不一样;就是版本号,应该没啥大问题;
也确实成功了,但是我发现这不是我想要的"热部署",这devTools只是帮我重启快了一点,我觉得应该不能叫热部署,应该叫热重启;
从控制台输出的这句可以反推推测一下
Started MyApplication in 58.921 seconds (JVM running for 63.162)
当我修改了代码,它会自动帮我重启一下项目:
重启耗时
重启耗时好像变少了一些, JVM running for 数字 ,这个数字越来越大, 可以推测是JVM一直在运行,是热重启,不再是冷重启,所以可能会快一点;
但是我想要的效果不是这样的,我期望我改了代码以后,不用重启就能够更新接口的结果;
于是,又找,找到IDEA 自带的 HotSwap 的帖子
IDEA + Spring Boot 的三种热加载方案,看完弄懂,不用加班~
https://cloud.tencent.com/developer/article/1683029

在这里我总结为以下几步:
1.在Settings里
Settings

2.Edit Configurations…
在这里插入图片描述
进入以后,选好是哪个微服务
选Update classes and resources
在这里插入图片描述

在这里插入图片描述
3.然后以Debug运行在这里插入图片描述
这样就可以实现热部署了;

4.修改代码以后,鼠标移到IDEA软件框的外面, 让IDEA失去鼠标的焦点,IDEA就会开始编译,编译完成就会提示如下:有1个类被重新加载
在这里插入图片描述
这样速度更快,不需要重启SpringBoot;
我更愿意称这样的HotSwap为热部署, 称用devTools为热重启;

在按尝试尚硅谷视频教程的时候按了快捷键
Ctrl + ALT + Shift + /

Ctrl + Shift + ALT + /
都可以

打开的Registry窗口的key我看不懂,鼠标选中后下面的框会有描述
在这里插入图片描述
如果想看所有描述有地址: Registry描述
https://github.com/jskierbi/intellij-ce-playground/blob/master/platform/util/resources/misc/registry.properties

HotSwap也不是每次都会成功,如果代码有bug,编译器通不过也会在编译时提示出来;
我这里把一个Controller的映射和方法全删了,也failed了
在这里插入图片描述
我放置这个问题在那, 并没有处理,然后过一会,用POSTMAN请求,还是能请求到原来那个映射地址;此时再把鼠标移到IDEA外面去,它又是绿的;显示没有类被改变;这样会显得有点诡异,代码里已经删了的映射,还能请求到;这里要注意避免这个坑!

这个时候重启一下项目比较好!

### 设置热部署IntelliJ IDEA 2024.1.5 对于希望在开发过程中提高效率并减少重新启动应用时间的开发者来说,在 IntelliJ IDEA 中配置热部署是一个不错的选择。针对 2024.1.5 版本,可以通过调整项目结构以及插件来实现这一功能。 #### 配置应用程序服务器支持 为了使热部署正常工作,首先需要确保已安装适当的应用程序服务器插件,并且该服务器已经正确配置到 IDE 当中[^1]。这通常涉及到通过 `File` -> `Settings` (Windows/Linux) 或者 `IntelliJ IDEA` -> `Preferences` (macOS),导航至 `Build, Execution, Deployment` -> `Application Servers` 来完成相应设置。 #### 启用 HotSwap Agent 插件 HotSwap 是 Java 平台上的标准特性之一,允许修改类文件而无需重启整个 JVM 实例。然而,默认情况下它仅限于方法体内的更改;因此建议启用更强大的第三方工具如 HotswapAgent 或 JRebel 等增强型解决方案。这些可以作为插件被加入到IDEA环境中去[^2]。 ```bash # 安装HotswapAgent插件 cd /path/to/your/project/ git clone https://github.com/HotswapProjects/HotswapAgent.git ./gradlew installDist ``` #### 修改编译器选项以优化即时反馈 为了让改动能够立即生效而不必手动触发构建过程,可以在 `Settings/Preferences | Build, Execution, Deployment | Compiler` 下勾选 "Make project automatically" 和 "Compile independent modules in parallel" 这两个选项[^3]。这样当保存源码变更时就会自动触发增量式的编译操作了。 #### 使用 Spring Boot DevTools 提升体验(如果适用) 如果是基于Spring框架的应用,则还可以考虑集成官方提供的DevTools模块。这个库会监听本地文件系统的变动情况,并据此通知内嵌Tomcat容器刷新资源,从而进一步简化调试流程[^4]。 ```xml <!-- 添加依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

庄毕楠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值