SpringBoot实战:整合devtools实现热部署
一、前言
实际项目开发过程中,每次修改都需要重启项目,重新部署才能使用,对于较大项目来说,重启是非常消耗时间和精力的(虽然什么都没有干,重启的这段时间只能默默等待)。现在就分享一下SpringBoot中常用的热部署工具devtools。
二、整合devtools
1. 添加依赖
首先我们需要在pom.xml文件中添加依赖。其中optional设置为true,表示当前项目依赖devtools,而依赖当前项目的项目如果项目使用devtools。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2. 添加devtools配置项
添加依赖后,我们需要在application.yaml文件中添加如下配置
spring:
devtools:
restart:
enabled: true #设置开启热部署
additional-paths: src/main/java #重启目录
exclude: WEB-INF/**
3. 设置IDEA
I. 开启IDEA的自动编译
具体步骤:打开顶部工具栏 File -> Settings -> Default Settings -> Build -> Compiler 然后勾选 Build project automatically 。
II. 开启IDEA的自动编译(动态)
具体步骤:同时按住 Ctrl + Shift + Alt + / 然后进入Registry ,勾选自动编译并调整延时参数。
- compiler.automake.allow.when.app.running -> 自动编译
- compile.document.save.trigger.delay -> 自动更新文件
通过以上设置,即可在IDEA中实现热部署,简单看了一下,如果有修改,大概一分钟左右会自动重启。
四、其他问题
- 问题描述:js文件在chrome浏览器中存在缓存问题解决方案
这个问题非常讨厌,每次js文件修改后,使用浏览器打开的时候,发现js内容始终无法生效。无论怎么刷新都没有效果。特别是chrome浏览器。
- 解决方案:
-
按F12键->Network->勾选Disable cache
-
使用快捷键
Ctrl+F5
(这种方式刷新比F5
刷新的效果要好。因为CTRL+F5
为无缓存式刷新,刷新时会清除chrome浏览器中的缓存),此技巧比较好用。
五、相关链接
博文内容均为平时工作积累,内容以实战为主,如有谬误请大家及时指出。如下链接还可了解SpringBoot
其他相关内容,希望相关内容能给予帮助。如果觉得内容不错,可以为博主点赞,谢谢!
SpringBoot实战(01):创建一个SpringBoot项目
SpringBoot实战(02):整合jUnit测试框架
SpringBoot实战(03):全局异常处理ErrorController
SpringBoot实战(04):整合Logback日志框架