You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在STS内置服务器上快速/自动重新部署Spring Boot Gradle应用

嗨,我来给你分享几个针对Spring Boot Gradle WAR项目的快捷部署方案,尤其是在STS环境下,帮你摆脱反复重启服务器的繁琐操作:

方案一:Spring Boot DevTools 自动重启+热部署

这是Spring Boot官方专为开发阶段打造的工具,能自动检测代码/资源变化,触发应用重启或静态资源热替换,完全适配你的WAR项目。

  1. 添加DevTools依赖到build.gradle
    在你的build.gradle依赖块中加入:

    dependencies {
        developmentOnly 'org.springframework.boot:spring-boot-devtools'
    }
    

    这个依赖只会在开发环境生效,不会被打包到生产WAR包中,不用担心影响线上环境。

  2. 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会直接热替换,不需要重启应用,刷新浏览器就能看到最新效果。

方案二:Gradle bootRun 配合自动构建

如果你习惯用Gradle任务来运行应用,也可以用这种方式:

  1. 在STS的Gradle Tasks视图中,找到你的项目下的application > bootRun任务,右键选择Run As > Gradle Build启动应用。
  2. 同样确保STS的Build automatically处于开启状态,后续修改代码后,Gradle会自动重新编译,bootRun会检测到变化并重启应用,全程无需手动操作。

方案三:外部服务器(如Tomcat)热部署

如果你的最终目标是把WAR包部署到外部Tomcat,STS也支持一键热部署:

  1. 先把外部Tomcat添加到STS的Servers视图中(Window > Show View > Servers,然后点击No servers are available...添加)。
  2. 右键你的项目,选择Run As > Run on Server,将项目部署到已添加的Tomcat上。
  3. 开启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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:47:41