在项目开发的过程中,会频繁修改类的代码,导致需要重新编译、启动,影响开发效率。
Spring Boot提供了spring-boot-devtools
组件,使代码改动后,无须手动重启SpringBoot应用即可重新编译、启动项目,以缩短编译启动的时间。
devtools会监听classpath下的文件变动,触发Restart类加载器重新加载该类,从而实现类文件和属性文件的热部署。
但并不是所有的更改都需要重启应用,如静态资源、视图模板等,可以通过设置spring.devtools.restart.exclude
属性来指定一些文件或目录的修改不用重启应用。
- 导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
- 在配置文件中配置如下内容
# 开启热部署
spring.devtools.restart.enabled=true
# 设置热部署应用与哪些目录
spring.devtools.restart.additional-paths=src/main/java
# 设置classpath目录下的静态资源文件夹内容修改不重启
spring.devtools.restart.exclude=static/**
如果使用的是IntelliJ IDEA,还需要再项目中配置自动编译:
-
在Settings页面的左边的菜单栏依次找到
Build,Execution,Deployment → Compiler,勾选Build project automatically
保存 -
按 Ctrl+Shift+Alt+/ 快捷键调出 Maintenance 页面,单击 Registry,勾选
compiler.automake.allow.when.app.running
复选框。
做完这两步配置之后,重新编译。
若再次在IDEA中修改代码,按ctrl+s保存,项目便会触发自动重启。
标签:SpringBoot,编译,部署,spring,重启,实现,devtools,restart From: https://www.cnblogs.com/nobicat/p/17081108.html内容参考自视频:【1天搞定SpringBoot+Vue全栈开发】 https://www.bilibili.com/video/BV1nV4y1s7ZN/?p=3&share_source=copy_web&vd_source=7c17f99f17e314542f69fb98e27d45d1