首页 > 其他分享 >SpringBoot实现热部署

SpringBoot实现热部署

时间:2023-01-31 22:55:08浏览次数:59  
标签:SpringBoot 编译 部署 spring 重启 实现 devtools restart

在项目开发的过程中,会频繁修改类的代码,导致需要重新编译、启动,影响开发效率。

Spring Boot提供了spring-boot-devtools组件,使代码改动后,无须手动重启SpringBoot应用即可重新编译、启动项目,以缩短编译启动的时间。
devtools会监听classpath下的文件变动,触发Restart类加载器重新加载该类,从而实现类文件和属性文件的热部署。
但并不是所有的更改都需要重启应用,如静态资源、视图模板等,可以通过设置spring.devtools.restart.exclude属性来指定一些文件或目录的修改不用重启应用。

  1. 导入依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>
  1. 在配置文件中配置如下内容
# 开启热部署
spring.devtools.restart.enabled=true
# 设置热部署应用与哪些目录
spring.devtools.restart.additional-paths=src/main/java
# 设置classpath目录下的静态资源文件夹内容修改不重启
spring.devtools.restart.exclude=static/**

如果使用的是IntelliJ IDEA,还需要再项目中配置自动编译:

  1. 在Settings页面的左边的菜单栏依次找到
    Build,Execution,DeploymentCompiler,勾选Build project automatically
    保存

  2. 按 Ctrl+Shift+Alt+/ 快捷键调出 Maintenance 页面,单击 Registry,勾选compiler.automake.allow.when.app.running复选框。

做完这两步配置之后,重新编译。
若再次在IDEA中修改代码,按ctrl+s保存,项目便会触发自动重启。

内容参考自视频:【1天搞定SpringBoot+Vue全栈开发】 https://www.bilibili.com/video/BV1nV4y1s7ZN/?p=3&share_source=copy_web&vd_source=7c17f99f17e314542f69fb98e27d45d1

标签:SpringBoot,编译,部署,spring,重启,实现,devtools,restart
From: https://www.cnblogs.com/nobicat/p/17081108.html

相关文章