Intellij - 实现项目的热部署1(使用spring-boot-devtools实现自动编译重启)

作者: hangge 发布时间: 2019-11-06 浏览: 2023 次 编辑

在开发 Spring Boot 项目时,每次修改代码之后都需要手动重启项目,十分浪费时间。Spring 为开发者提供了一个名为 spring-boot-devtools 的模块来使 Spring Boot 应用支持热部署,当配置了 devtools 后,我们在 classpath 修改任何文件后项目都将会自动编译并重启。

1,添加依赖

(1)首先我们修改项目的 pom.xml 文件,在 dependencies 标签内添加一个新的 dependency 标签,用于加载 spring-boot-devtools 工具包。

<!-- 热部署 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
    <scope>true</scope>
</dependency>


(2)修改 pom.xml IDE 自带的 maven 会自动下载 jar 包,并在下方显示 jar 包下载进度,我们可以耐心等一会。

原文:Intellij - 实现项目的热部署1(使用spring-boot-devtools实现自动编译重启)

2,修改 application.properties 文件

application.properties 文件中添加如下内容,设置热部署的一些相关配置:

#"关闭缓存, 即时刷新"
#spring.freemarker.cache=false
#spring.thymeleaf.cache=true  如果开启此处会导致每次输入删除都会自动刷新哪怕你没保存

#热部署生效
spring.devtools.restart.enabled=true
#设置重启的目录,添加那个目录的文件需要restart
spring.devtools.restart.additional-paths=src/main/java
#设置不需要重启的目录
spring.devtools.restart.exclude=WEB-INF/**

3、IDE 设置

(1)由于我使用的是 Intellij IDEMac 版),默认情况下不会自动编译。首先打开 Rreferences 窗口,勾选上 Compiler 子页面下的 Build project automatically 选项,并保存退出。

原文:Intellij - 实现项目的热部署1(使用spring-boot-devtools实现自动编译重启)

(2)按下 Command + Shift + A 在弹出框中输入 Registry 并点击结果。

原文:Intellij - 实现项目的热部署1(使用spring-boot-devtools实现自动编译重启)

(3)然后勾选自动编译选项。

原文:Intellij - 实现项目的热部署1(使用spring-boot-devtools实现自动编译重启)

4,运行测试

经过前面配置以后,以后每次只要对代码进行编辑并保存,Intellij IDEA 将会自动触发编译过程,并且重启应用服务。

注意:因为 devtools 采用的虚拟机机制,每次自动重启是很快的。


原文出自:www.hangge.com 转载请保留原文链接:https://www.hangge.com/blog/cache/detail_2634.html