springboot项目在idea中的热部署的几种方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/java_collect/article/details/83629115

1. devtools依赖方式

我们在使用idea运行springboot项目时想要实现热部署,首先需要添加依赖

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

但是仅此是不行的,因为idea默认没有开启自动编译,所以我们需要进行一些配置:
首先在File–>settings找到compiler,勾选自动编译打开自动编译
注意后面有提示 only works while not running/debugging,所以还需要配置ruuning时也自动编译。需要使用一个快捷键,ctrl+shift+alt+/ ,选择registry
在这里插入图片描述
然后找到compiler.automake.allow.when.app.running勾选
运行时自动编译到此我们尝试运行项目,看看热部署是否生效。如果还是不生效不要着急,可以在pom文件里增加fork为true

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <executable>true</executable>
                    <fork>true</fork><!-- 如果没有该配置,热部署的devtools不生效 -->
                </configuration>
            </plugin>
        </plugins>
    </build>

到此应该就成功了,当我们修改完文件光标移开时,可以在控制台的输出信息看到springboot开始自动make,热部署也就生效了。

2. springboot的edit配置

这种方式非常简单(其实不算热部署),即我们在修改完文件时,可以手动触发编译update classes and resource
在这里插入图片描述
个人更喜欢这种方式,可以在批量修改完文件后,手动触发make。而不是像第一种方法那样每次修改完都自动部署,降低性能,且没必要。

猜你喜欢

转载自blog.csdn.net/java_collect/article/details/83629115