1、IDEA 编写 Spring Boot 项目时,修改了Java文件,浏览器无法实时访问修改后的内容时,此时可以设置热部署插件。
2、在 pom.xml 文件中添加热部署依赖,<plugins> 中设置插件 fork 为 true
<dependencies>
<!--添加热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<!--true 表示依赖不传递-->
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--热部署配置-->
<!--fork:让Maven新开一个JVM进行编译,否则整个devtools可能会不生效-->
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
3、设置 IDEA 自动编译:File—> Settings—>Build...-> Compiler 勾选 Build Project automatically
4、设置完成之后,修改后端代码后,spring-boot-devtools 会监测 classpath 下的文件是否发生变化,如果发生变化,则会自动重启应用,但是修改前端代码不需要重启,所以个人建议热部署时可以关闭自动编译,改为手动按 Ctrl + 9 快捷键编译,否则随便修改一点代码,自动编译导致服务器自动重启了,很麻烦。
5、默认情况下,/resources,/static,/templates 这些静态资源目录下的文件修改不会使应用重启,但是会重新加载(配置文件修改会自动重启,比如 application.yml)。