1. 简介
热部署
是指在应用正在运行时对其进行升级或修改,而无需停止应用的特性
Spring Boot为
热部署允许开发者在不重启整个应用的情况下,单独刷新或替换 Java 类文件或静态资源内容。
- 这种能力极大地提高了开发效率,因为频繁的重启服务器会带来不必要的延迟和维护成本
spring-boot-devtools
: 该模块还包括对快速应用程序重启的支持, 在不重新启动容器的情况下重新加载模板
。
- 对于更完整的解决方案: JRebel 可使用。
2. 添加依赖
xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
注意事项
- Devtools 可能会导致类加载问题,尤其是在多模块项目中。 诊断类加载问题说明如何诊断和解决这些问题。
生产环境
不建议使用!!! 请排除依赖项
或设置-Dspring.devtools.restart.enabled=false
系统属性。
shell
java -jar -Dspring.devtools.restart.enabled=false appliaction.jar
3. 自动热部署
- 在
IDEA
中setting
设置中,勾选自动编译。
- 在启动的
spring Boot
项目设置, 离开 IDEA 后,更新重新加载类信息或静态资源。
4. 手动热部署
- 在
IDEA
中,点击重新构建
,会重新加载类但无法加载静态资源,需要手动重启服务。