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

如何配置Eclipse加载resources/config下的Spring Boot配置文件

Eclipse运行Spring Boot项目无法读取resources/config目录配置文件解决方案

问题与环境说明

使用Eclipse开发Spring Boot项目时,存放于src/main/resources/config目录下的配置文件无法被正常加载,但直接放置在resources根目录的配置可正常读取。按照Spring Boot官方规则,config目录本属于默认支持的配置加载路径。
相关环境与现象:

  • Eclipse版本:2022-06 (4.24.0)
  • Spring Boot版本:2.6.8
  • 可正常加载的配置路径:project/src/main/resources/application-test.yaml
  • 无法加载的配置路径:
    • project/src/main/resources/config/application-test.yaml
    • project/src/main/resources/config/some-other-config.yaml
  • 项目结构参考:项目结构截图

解决步骤

1. 修复Eclipse类路径资源配置(90%以上该问题由这个原因导致)

Eclipse默认的构建路径规则可能未将config目录下的文件纳入类路径输出,按以下步骤调整:

  • 右键项目根目录,选择Build Path > Configure Build Path
  • 切换到Source标签页,找到src/main/resources条目,检查其Excluded(排除)规则
  • 如果排除规则中存在匹配config目录的项,选中后点击Remove删除,确保排除规则为空或仅匹配不需要加载的文件类型
  • 保存配置后,右键项目选择Refresh,如果是Maven/Gradle项目再执行一次依赖刷新(Maven > Update Project/Gradle > Refresh Gradle Project)即可。

2. 检查启动配置是否覆盖了默认配置路径

如果手动在启动参数中配置过spring.config.location,会直接覆盖Spring Boot默认的配置加载路径列表,导致config目录不被扫描:

  • 右键启动类,选择Run As > Run Configurations
  • 找到对应的Spring Boot启动项,切换到Arguments标签页,检查VM参数和程序参数
  • 如果存在自定义的spring.config.location配置,要么删除该配置恢复默认扫描规则,要么在路径列表中补充classpath:/config/路径。
    如果是激活test profile加载application-test.yaml,直接添加VM参数-Dspring.profiles.active=test即可,不需要额外指定配置路径。

3. 自定义命名配置文件的加载方式

对于some-other-config.yaml这类非application开头的自定义配置文件,Spring Boot不会自动扫描加载,需要手动引入:

  • 方式一:在主配置文件中通过config import引入,适用于Spring Boot 2.4及以上版本:
spring:
  config:
    import: classpath:config/some-other-config.yaml
  • 方式二:在配置类上通过@PropertySource注解指定全类路径加载:
@Configuration
@PropertySource("classpath:config/some-other-config.yaml")
public class AppConfig {
}

注意路径必须加classpath:前缀,否则会从项目工作目录查找导致加载失败。

4. 校验构建工具的资源过滤规则

如果是Maven项目,检查pom.xml中的资源配置,确保没有过滤config目录下的配置文件,参考配置如下:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.yaml</include>
                <include>**/*.yml</include>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>
</build>

配置完成后执行一次mvn clean compile,再刷新Eclipse项目即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 00:51:17