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

Spring Boot DevTools与Gradle兼容异常:修改无法实时生效求助

Spring DevTools 代码更新不生效的排查方案

1. 确认Gradle依赖配置是否正确

得确保build.gradle里的DevTools依赖是runtimeOnly,别写错成compile或者implementation:

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

另外检查自动重启配置,别把你修改的代码目录加到排除列表里:

spring:
  devtools:
    restart:
      enabled: true
      exclude: static/**, public/**

2. 检查IDE自动编译开关

  • IntelliJ IDEA:打开Settings > Build, Execution, Deployment > Compiler,勾选Build project automatically;再按Ctrl+Shift+A搜Registry,找到compiler.automake.allow.when.app.running勾上。
  • Eclipse:打开Window > Preferences > General > Workspace,勾选Build automatically。

3. 验证classpath是否真的更新

改完代码后手动点下IDE的Build按钮,或者执行gradle build,看控制台有没有DevTools的重启日志:Reloading classes changed [...]。要是没有,说明代码没编译到classpath,检查IDE编译输出目录和Spring Boot读取的是否一致。

4. 排查自定义类加载器干扰

如果项目里有自定义ClassLoader的代码,先注释掉试试——有些第三方框架或自定义类加载策略会绕过DevTools的重启机制。

5. 静态资源热加载的特殊处理

如果改的是static/public下的静态文件,DevTools默认不触发重启,靠LiveReload刷新页面:

  • 浏览器装个LiveReload插件(比如Chrome的LiveReload扩展)并启用。
  • 确保配置里没禁用LiveReload:
spring:
  devtools:
    livereload:
      enabled: true

6. 清理Gradle缓存

执行gradle clean build --no-build-cache清空缓存后重新构建,旧缓存有时候会导致代码没同步到classpath。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 12:04:53