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

Spring Boot DevTools无法自动重启REST接口问题求助

Spring Boot DevTools 重启失效问题解答

核心结论

spring-boot-devtools 完全支持在修改REST接口(如@RestController中的方法逻辑)或普通@Component类时自动重启应用,你遇到的无响应问题是配置或运行方式导致的,而非工具本身不支持该场景。

问题排查与修复步骤

1. 调整依赖配置(推荐)

你当前依赖的scope设为runtime,建议改为Spring Boot官方推荐的optional(避免将DevTools打包到生产环境):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>optional</scope>
</dependency>

2. 开启IDE自动编译

DevTools的重启触发依赖classpath文件变化,修改Java代码后需要IDE自动编译更新class文件:

  • IntelliJ IDEA:
    • 打开Settings > Build, Execution, Deployment > Compiler,勾选Build project automatically
    • 按Ctrl+Shift+A(Windows/Linux)或Cmd+Shift+A(Mac)搜索Registry,找到并勾选compiler.automake.allow.when.app.running
  • Eclipse:
    • 打开Window > Preferences > General > Workspace,勾选Build automatically

3. 确认运行方式

必须通过IDE的Spring Boot运行配置启动应用,而非直接执行打包后的JAR包——DevTools仅在开发环境的类加载器模式下生效。

4. 验证修改触发流程

修改你的home()方法返回值后:

  1. 保存代码,等待IDE完成自动编译
  2. 观察控制台,会出现类似Restarting due to change in ...的日志
  3. 重启完成后,刷新接口即可看到修改后的结果

内容的提问来源于stack exchange,提问作者Carla

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:24:54