欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

SpringBoot 热部署

程序员文章站 2022-08-19 23:07:34
开发中,每次对类的修改,都需要重启服务,很浪费时间,影响效率。所以就需要用到热部署,节省时间提高效率。 ......

springboot 热部署

开发中,每次对类的修改,都需要重启服务,很浪费时间,影响效率

。所以就需要用到热部署,节省时间提高效率。

1、在maven的pom.xml文件中添加依赖

<!--spring boot提供了一个名为spring-boot-devtools的模块来使应用支持热部署,提高开发者的开发效率,无需手动重启spring boot应用-->
<dependency>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-devtools</artifactid>
   <!-- optional=true,依赖不会往下传递,如果有项目依赖本项目,并且想要使用devtools,需要重新引入 -->
   <optional>true</optional>
</dependency>

2、继续在maven的pom.xml文件中添加插件的配置

<build>
    <plugins>
        <plugin>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-maven-plugin</artifactid>
            <!--自动启动-->
            <configuration>
                <!--fork:如果没有该项配置,整个devtools不会起作用-->
                <fork>true</fork>
            </configuration>
        </plugin>
        <!--自定义配置spring boot使用的jdk版本-->
        <plugin>
            <artifactid>maven-compiler-plugin</artifactid>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

3、配置文件application.yml中添加

debug: true
spring:
  devtools:
    remote:
      restart:
        enabled: true #设置开启热部署
  freemarker:
    cache: false #页面不加载缓存,修改及时生效

如果是eclipse,配置到这里,只要重启服务,热部署就会生效了。

但是idea的话,热部署还不会生效,因为devtools只会在类路径上的文件发生更改时才会自动重启,而idea默认不会自动编译。

1)file -> settings -> compliler,勾选build project automatically

SpringBoot 热部署

2)按快捷键ctrl+shift+alt+/,选择1.registry

SpringBoot 热部署

3)勾选compiler.automake.allow.when.app.running即可

SpringBoot 热部署