导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
yaml文件配置
spring:
devtools:
restart:
enabled: true #设置开启热部署
additional-paths: src/main/java #java下任意文件改动都会重启
trigger-file: .reloadtrigger #此项配置是指定一个文件,当需要重启时,修改该文件即可
exclude:
- static/**
- public/** #排除静态资源
additional-exclude: # 添加其他排除项
log-condition-evaluation-delta: false #禁用报告的日志记录
idea中开启热部署功能
或者快捷键ctrl+alt+shift+/
打开registry
,找到并勾选compiler.automake.allow.when.app.running
这样就完成热部署了。
但是这个有时速度还不如重启,比较鸡肋,官网推荐使用JRebel,就是收费,想白嫖浏览器自搜哈。
禁用重启
主启动类添加
System.setProperty("spring.devtools.restart.enabled", "false");
即可。
完整demo如下所示:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(MyApplication.class, args);
}
}