其他分享
首页 > 其他分享> > SpringBoot2.1.5 (21)---使用 devtools 热部署

SpringBoot2.1.5 (21)---使用 devtools 热部署

作者:互联网

SpringBoot2.1.5 (21)---使用 devtools 热部署

 

当你每修改一个文件,甚至于修改一个符号而不得不重启项目经历漫长等待的时候,是否会感到无比的低效。。。 
那么,希望接下来所介绍的东西会对你有所帮助,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 中 添加该属性配置到某个特定的文件,当 需要热部署的时候,在配置的文件中随意进行修改即可实现 指定情况的部署

标签:文件,SpringBoot2.1,spring,properties,修改,devtools,yml,21
来源: https://blog.csdn.net/zhangbijun1230/article/details/91347530