Intellij2017下springboot项目启动热部署功能

时间:2021-07-03 09:37:32

当我们修改了一个java类的时候,需要在修改后尽快看到效果是否实现,就需要用到热部署。它的原理是在发现代码有更改之后,重新启动应用,所以速度比手动停止后再启动更快。SpringBoot为我们提供了一个非常方便的工具spring-boot-devtools。因为devtools会监听classpath下的文件变动,所以当java类重新编译的时候,devtools会监听到这个变化,然后就会重新启动SpringBoot。这个重启是非常快的一个过程。因为在SpringBoot中有两个类加载器,一个是加载工程外部资源的,如jar包,还有一个类加载器是用来加载本工程的class的。所以在重启SpringBoot的时候只加载本工程的class文件。

pox.xml

在pom.xml中添加devtools工具的依赖,并修改设置

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                </configuration>
            </plugin>
        </plugins>
    </build>

ctrl+shift+A 查找compiler(编译器) 勾选其中的 build project automatically(自动构建项目)

Intellij2017下springboot项目启动热部署功能

ctrl+shift+alt+/ 打开 maintenance(维修) 点击Registry(注册) 勾选Compiler.autoMake.allow.when.app.running

Intellij2017下springboot项目启动热部署功能

这样就可以实现热部署的功能了