SpringBoot2.X (十二):使用 devtools 热部署

本文介绍如何在Spring Boot项目中实现热部署,包括在Maven项目中引入spring-boot-devtools模块,以及在IntelliJ IDEA中进行相应设置。此外,还讲解了如何自定义热部署的排除文件和触发文件。

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

当你每修改一个文件,甚至于修改一个符号而不得不重启项目经历漫长等待的时候,是否会感到无比的低效。。。
那么,希望接下来所介绍的东西会对你有所帮助,ok , 言归正传,
根据 官方文档的指引@
这里写图片描述
我们这里使用的maven ,所以

1、 在pom.xml 中引入 devtools 模块

<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-devtools</artifactId>
		<optional>true</optional>
	</dependency>
</dependencies>

2、 IntelliJ IDEA 设置
首先,
File ——> Settings ——> Complier ——> 选中 Build project automatically
如下图所示:

这里写图片描述

然后 ,
使用该组合键 Shift+ALT+Ctrl+/ ,选择 Registry
勾选 “complier.automake.allow.when.app.running” 选项
这里写图片描述

如此这般之后,热部署的基本设置就完成了

当然了,默认的这种设置是会默认监听所有的文件修改,但是有时候我们的有些修改又不想它重启,该怎么做呢?

通过官方文档我们了解到
这里写图片描述

/META-INF/maven, /META-INF/resources, /resources, /static, /public, or /templates , 默认情况下,这些文件资源不会自动重新加载
而如果我们想要实现 自定义排除某些文件,可以通过 spring.devtools.restart.exclude 属性进行某些配置从而达成我们的目标

ok,接下来,我们进行一次简单操作
目标 : 使得 properties.yml 文件被修改时不重新加载
操作步骤:
① 在 properties.yml 中增加以下配置:

spring:
  devtools:
    restart:
      exclude: application.yml

② 启动项目 测试 ,修改 properties.yml 已经不会被重新加载了

然而这样依旧会有些问题,比如有时候我们想要让热部署在我们完成全部修改时进行,该怎么办呢?

这里依旧贴出官方说明: 官方文档传送门
这里写图片描述

通过 spring.devtools.restart.trigger-file 配置 监听某个特定的文件,从而实现我们的需求

这里就不展开叙述了,使用方式同上,可以在 application.yml/application.properties 中 添加该属性配置到某个特定的文件,当 需要热部署的时候,在配置的文件中随意进行修改即可实现 指定情况的部署

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大痴小乙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值