springboot devtools热启动
热加载在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框架 只是实现了热启动而已,从控制台日志就可以看出来。