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

Spring Boot Maven插件addResources致.properties文件无法访问求助

解决Spring Boot开启addResources=true后命令行启动无法访问.properties文件的问题

方案一:调整Spring Boot Maven插件的资源配置

在spring-boot-maven-plugin中明确指定要包含的资源类型,确保配置文件和模板文件都能被正确加载到类路径,同时保留addResources=true的热重载能力:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <addResources>true</addResources>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.yml</include>
                    <include>**/*.html</include>
                    <include>**/*.css</include>
                    <include>**/*.js</include>
                </includes>
            </resource>
        </resources>
    </configuration>
</plugin>

这个配置会强制插件将指定类型的资源从src/main/resources目录加入类路径,避免因资源优先级问题导致配置文件无法被读取。

方案二:改用Spring Boot DevTools实现热重载(推荐)

官方推荐的热重载方案,无需依赖addResources配置,还能覆盖更多场景(包括配置文件修改后的自动重启),彻底避免类路径资源冲突问题:

1. 添加DevTools依赖

在pom.xml中引入依赖:

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

2. 配置DevTools和Thymeleaf

在application-dev.properties中添加以下配置:

# 开启自动重启
spring.devtools.restart.enabled=true
# 指定需要监听热重载的目录(模板、静态资源)
spring.devtools.restart.additional-paths=src/main/resources/templates,src/main/resources/static
# 关闭Thymeleaf缓存,确保模板修改即时生效
spring.thymeleaf.cache=false

3. 命令行启动验证

执行mvn clean package spring-boot:run -P dev即可正常加载配置文件,同时修改Thymeleaf模板或静态资源后,应用会自动重启或刷新,实现热重载效果。

问题原因分析

开启addResources=true时,Maven会将src/main/resources下的资源直接挂载到类路径,而mvn clean package阶段会把资源打包到target/classes目录,两者同时存在于类路径时,可能出现资源加载顺序混乱、配置文件未被正确过滤(如dev环境的变量替换)等问题,导致应用无法读取到正确的.properties文件。DevTools通过类加载器隔离机制实现热重载,不会干扰资源的正常加载逻辑,因此是更可靠的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:50:40