JYii
V2EX  ›  Java

请教关于 spring-boot-devtools 的问题

  •  
  •   JYii · Jul 4, 2025 · 2940 views
    This topic created in 317 days ago, the information mentioned may be changed or developed.
    最近敲项目发现任何的改动,重新编译后执行会导致报一些奇怪的错误,包括不限于类找不到、类型异常等等。

    而且重启依旧如此,只能 mvn clean install 后启动应用才正常。

    观察日志,修改代码编译后,devtools 会重启应用,没任何有价值的日志,跟正常启动差不多,打开 debug 日志,交给 gemini 分析:

    您的项目中存在某个组件(很可能是一个我们没找到的、行为不当的自定义线程池或第三方库),这个组件导致了 Spring 应用上下文 无法被干净地关闭。
    * 当 DevTools 尝试进行 Restart 时,它在这个“关闭上下文”的步骤上失败了(正如我们日志中看到的,数据库连接池没有被关闭),导致整个应用处于一种“僵尸”状态。

    尝试找了项目中可能未正确关闭的代码,线程池、threadlocal 等等,还有第三方依赖,这属实范围难度有点大,索性就把 devtool 注释了。
    关闭后,通过 idea 的自动编译,反而可以正常工作了。

    这个 devtool 是我没有使用好吗,搜了下主要是自动重启、静态资源刷新(前后端分离直接忽略)

    环境:idea 最新版,jdk17 ,springboot 最新版
    10 replies    2025-07-29 14:58:03 +08:00
    ChaYedan666
        1
    ChaYedan666  
       Jul 4, 2025   ❤️ 1
    没必要纠结在这个上面了,一堆坑🤮。idea 本身现在也自带修改代码后会提示你是不是需要应用热更新,大部分情况下确实没问题,但一旦出问题,第一时间完全想不到,浪费时间找半天排坑。
    就正常重新编译重启得了,顺便起来活动活动筋骨
    Romic
        2
    Romic  
       Jul 4, 2025
    spring-boot-devtools 基本不用,都是直接重启,热更新 掌握不了。
    newaccount
        3
    newaccount  
       Jul 4, 2025
    前阵子刚从 POM 里删掉
    原本就没啥用,还遇到了跟 redis 一起用的时候报错,不想折腾
    worldgg
        4
    worldgg  
       Jul 4, 2025
    devtool 踩过坑,早就不用了,上班因为 devtool 的问题 只会浪费自己的时间,得不偿失
    itechify
        5
    itechify  
    PRO
       Jul 4, 2025
    还是习惯 Ctrl + Shift +F9
    cookii
        6
    cookii  
       Jul 4, 2025
    可能是因为项目代码没有遵从 spring 的最佳实践。
    loong95
        7
    loong95  
       Jul 4, 2025 via iPhone
    不如用 jrebel
    cvbnt
        8
    cvbnt  
       Jul 4, 2025 via Android
    没 jrebel 好用
    MIUIOS
        9
    MIUIOS  
       Jul 5, 2025
    从不用 devtool 这玩意,每次都提示我安装,烦死了 jrebel 秒杀
    uselesswater
        10
    uselesswater  
       Jul 29, 2025 via Android
    热重启不建议使用,我天哪,这玩意儿简直就是用来折磨人的,之前很多次,都是因为热重启,导致的错误,本来代码没有问题,就是因为这个热重启,导致,查错查很久,发现啥问题没有,断点跑,发现一些数据直接不存在,直接为空,还以为是逻辑出错,最后一通查找,发现没啥问题呀,于是重新清除重新编译启动,TM 恢复正常了。这玩意儿已经折磨我很多次了,容易出 bug 的地方就是在序列化上,如果使用到 aop 更容易出问题,所以真不建议用,有时候出错自己会怀疑自己,反而浪费了很多不该浪费的时间去排错。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   841 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 21:29 · PVG 05:29 · LAX 14:29 · JFK 17:29
    ♥ Do have faith in what you're doing.