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

Spring Boot Devtools:如何用单个配置文件排除多模块重启类加载器?

解决Maven多模块项目DevTools重启类加载器配置问题

完全不需要创建47个spring-devtools.properties文件!你只需要在主应用模块(就是包含@SpringBootApplication注解的那个模块)里创建一个配置文件,就能批量处理所有模块的排除或白名单需求,其中白名单方式正是你想要的最优解。

方案1:用白名单指定仅需热重载的模块

既然你希望只让少数模块支持热重载,这是最简洁高效的方式。在主应用模块的src/main/resources/META-INF/下创建spring-devtools.properties,配置如下:

# 替换成你需要热重载的模块jar名,多个用逗号分隔
spring.devtools.restart.include=module1.jar,module2.jar,module3.jar

这个配置的核心作用是:只有匹配的jar包会被DevTools的重启类加载器接管,其他所有模块的jar都会被交给基础类加载器,不会触发重启——完美实现你"排除所有,仅留白名单"的需求。

方案2:批量排除多个模块(黑名单方式)

如果更倾向于用排除逻辑,同样在主应用模块的配置文件里批量列出要排除的jar即可:

# 列出所有需要排除的模块jar,多个用逗号分隔
spring.devtools.restart.exclude=module4.jar,module5.jar,...,module50.jar

这种方式适合需要排除的模块数量不多的场景,但显然白名单在你的场景下更省心。

关键原理说明

DevTools会读取类路径下的META-INF/spring-devtools.properties文件,你只需要在主应用模块放置一份即可——因为主模块的类路径会被DevTools优先加载,这份配置会全局生效到整个项目的重启逻辑中,完全不需要给每个模块单独配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:06:47