如何在STS内置服务器上快速/自动重新部署Spring Boot Gradle应用
嗨,我来给你分享几个针对Spring Boot Gradle WAR项目的快捷部署方案,尤其是在STS环境下,帮你摆脱反复重启服务器的繁琐操作:
方案一:Spring Boot DevTools 自动重启+热部署
这是Spring Boot官方专为开发阶段打造的工具,能自动检测代码/资源变化,触发应用重启或静态资源热替换,完全适配你的WAR项目。
添加DevTools依赖到build.gradle
在你的build.gradle依赖块中加入:dependencies { developmentOnly 'org.springframework.boot:spring-boot-devtools' }这个依赖只会在开发环境生效,不会被打包到生产WAR包中,不用担心影响线上环境。
STS环境配置
- 打开STS的
Window > Preferences > General > Workspace,勾选Build automatically(自动构建)。这样你修改代码后,STS会自动编译,DevTools会立刻检测到变化并触发应用重启。 - 如果你用的是STS 4及以上版本,默认已经支持DevTools的自动重启,但如果没生效,可以打开你的Spring Boot运行配置(
Run > Run Configurations),确认Enable auto-refresh选项已勾选。
✨ 小提示:静态资源(HTML/CSS/JS等)修改后,DevTools会直接热替换,不需要重启应用,刷新浏览器就能看到最新效果。
- 打开STS的
方案二:Gradle bootRun 配合自动构建
如果你习惯用Gradle任务来运行应用,也可以用这种方式:
- 在STS的
Gradle Tasks视图中,找到你的项目下的application > bootRun任务,右键选择Run As > Gradle Build启动应用。 - 同样确保STS的
Build automatically处于开启状态,后续修改代码后,Gradle会自动重新编译,bootRun会检测到变化并重启应用,全程无需手动操作。
方案三:外部服务器(如Tomcat)热部署
如果你的最终目标是把WAR包部署到外部Tomcat,STS也支持一键热部署:
- 先把外部Tomcat添加到STS的
Servers视图中(Window > Show View > Servers,然后点击No servers are available...添加)。 - 右键你的项目,选择
Run As > Run on Server,将项目部署到已添加的Tomcat上。 - 开启
Project > Build Automatically,之后修改代码或资源,STS会自动编译并同步到Tomcat的部署目录,Tomcat会自动加载更新(默认开发环境下Tomcat已开启热部署)。
额外注意事项
- 对于配置了
apply plugin: 'war'的项目,DevTools的逻辑和JAR项目完全一致,因为开发阶段Spring Boot依然会使用内嵌容器(除非你手动排除了内嵌容器依赖),所以自动重启功能不受WAR插件影响。 - 如果某些文件修改后没触发重启,可以自定义DevTools的监控路径,在
application.properties中添加:spring.devtools.restart.additional-paths=src/main/resources/custom
内容的提问来源于stack exchange,提问作者osama yaccoub
相关产品推荐
相关产品推荐

