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

Spring Boot测试加载ApplicationContext失败:找不到application.properties

解决Spring Boot测试加载ApplicationContext失败&找不到application.properties的问题

看你贴的报错和测试代码,核心问题就是Spring启动时找不到/application.properties这个配置文件,导致解析SSPStarter配置类失败,进而ApplicationContext加载不起来。给你几个实用的排查和解决思路:

1. 先检查配置文件的存放位置

Spring Boot默认会从这几个地方找application.properties(优先级从高到低):

  • 当前目录下的config子文件夹
  • 当前目录
  • 类路径(classpath)下的config包
  • 类路径根目录

你得先确认你的application.properties是不是放在了classpath根目录或者上面说的其他合法路径里。如果是Maven/Gradle项目,正常主环境配置放src/main/resources/,测试环境的配置放src/test/resources/就行。

2. 手动指定配置文件路径(如果不在默认位置)

要是你的配置文件没在默认路径里,可以直接在@SpringBootTest注解里指定路径:

比如配置文件在classpath的config目录下:

@SpringBootTest(
    classes = {SSPStarter.class, SwaggerConfig.class},
    properties = {"spring.config.location=classpath:/config/application.properties"}
)

如果是本地磁盘的外部路径:

@SpringBootTest(
    classes = {SSPStarter.class, SwaggerConfig.class},
    locations = "file:/Users/xxx/xxx/application.properties"
)

3. 检查启动类SSPStarter的配置注解

你的测试类加载了SSPStarter作为启动类,得看看这个类上有没有用@PropertySource注解,如果有,要确认它指定的路径是不是正确的:

@SpringBootApplication
@PropertySource("classpath:/application.properties") // 这里路径别写错!
public class SSPStarter {
    // ...
}

要是@PropertySource里的路径错了,肯定找不到文件。

4. 确认测试资源目录是否被正确识别

如果是测试环境专用的配置文件,得确保src/test/resources/这个目录在Maven/Gradle的配置里是被当作资源目录的。比如Maven的pom.xml里要有这段:

<build>
    <testResources>
        <testResource>
            <directory>src/test/resources</directory>
        </testResource>
    </testResources>
</build>

要是没这段配置,测试的时候classpath里就不会包含测试资源目录的文件,自然找不到。

5. 清理缓存重新构建项目

有时候IDE缓存或者旧的构建产物会搞事情,导致资源文件没被正确复制到classpath里,不妨试试:

  • 用命令行执行mvn clean test(Maven项目)或者gradle clean test(Gradle项目),清掉旧产物再重新测试
  • 在IDE里刷新项目(比如IntelliJ里点File -> Reload All Maven Projects),确保资源文件同步到位

建议先从检查配置文件位置开始,这是最常见的原因。要是还不行,再挨个试上面的其他方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:06:26