IT干货网

springboot devtools热启动

flyfish 2022年03月15日 编程设计 182 0

热加载在pom.xml中添加devtools的maven引用,同时在plugin中添加devtools生效标志

 <dependency> 
            <groupId>org.springframework.boot</groupId> 
            <artifactId>spring-boot-devtools</artifactId> 
            <version>2.2.5.RELEASE</version> 
 </dependency> 
         
 <plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
        <fork>true</fork>  <!-- 如果没有该生效标志,热部署的devtools不生效 --> 
    </configuration> 
</plugin>

2、Idea设置

于热部署是监听 Class 文件的变化,它自身不会主动去编译 Java 文件,所以我们得在 Java 文件改动时,自动编译成 Class 文件,然后热部署工具创造的新的类加载器才会加载改变后的 Class 文件。

所以,如果你使用 IDEA 开发工具的话,记得要把自动编译打开。

File | Settings | Build, Execution, Deployment | Compiler :该√的√上

在这里插入图片描述

3、修改IDEA的 Registry

开启自动编译,还差一步。

所以,如果你使用 IDEA 开发工具的话,记得要把自动编译打开。

再执行 shift+ctrl+alt+/ 快捷键
在这里插入图片描述

在这里插入图片描述

在配置文件application.yml

热部署生效:在配置文件application.yml中添加 :

spring: 
  devtools: 
    restart: 
      enabled: true#设置开启热部署 默认true 
    remote: 
      restart: 
        enabled: true #设置开启远程热部署

4 重启idea,运行工程

注意:这种配置启动不能直接运行 main 方法了,需要使用 mvn spring-boot:run 启动,

运行:mvn clean spring-boot:run

问题:

springBoot框架 只是实现了热启动而已,从控制台日志就可以看出来。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

IntelliJ IDEA live template 方法配置