IDEA下配置Spring Boot的热部署

© 版权声明:本文为博主原创文章,转载请注明出处

devtools简介 

spring-boot-devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),因为其采用的虚拟机机制,该项重启时很快的

spring-boot-devtools主要有两个类加载器:

  base classloader(Base类加载器),加载不改变的class,例如:第三方提供的jar包等

  restart classloader (Restart类加载器),加载正在开发的class

因为重启的时候只加载了正在开发的class,没有重新加载第三方的jar包,所以重启会很快

IDEA下配置热部署

1. File -->> Settings -->> Build,Execution,Deployment -->> Granle-Android Compiler --> 勾选 Make project automatically(only works while not running / debugging)

2. Ctrl + Shift + A,输入Registry,选中第一个回车,勾选 compiler.automake.allow.when app.running

3. pom.xml中引入devtools的依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <!-- optional=true,依赖不会传递,该项目依赖devtools;其他依赖本项目的项目需重新引入devtools-->
    <optional>true</optional>
</dependency>

4. pom.xml中添加spring-boot-maven-plugin插件,并且配置<fork>true</fork>(非必须)

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <!-- 自己测试,不配置也可实现热部署 -->
        <fork>true</fork>
    </configuration>
</plugin>

5. 配置application.yml文件(或application.properties)

spring:
  thymeleaf:
    cache: true # false:关闭缓存,即时刷新
  devtools:
    restart:
      enabled: true # 启用热部署
      additional-paths: src/main/java # 设置需重启的目录,目录下的文件改变时会restart

6. Chrome可在开发者模式下(快捷键F12:需打开开发者模式才可使用该快捷键),禁用缓存(非必须

7. 重启项目,进行测试即可

参考:

  https://www.imooc.com/video/16717

  https://www.cnblogs.com/winner-0715/p/6666579.html

原文地址:https://www.cnblogs.com/jinjiyese153/p/8556523.html