Spring Boot项目无法运行,测试报错找不到@SpringBootConfiguration
问题解决:Spring Boot项目运行与测试错误处理
一、测试报错(Unable to find a @SpringBootConfiguration)解决
测试类ServerApplicationTests所在包为com.snhu.server,而带有@SpringBootApplication的主类ServerApplication在com.snhu.sslserver包下。@SpringBootTest默认仅扫描当前包及其子包的配置类,因此无法找到启动配置导致报错。
解决方法二选一:
- 方法1:修改测试类包路径
将测试类的包声明改为与主类一致的com.snhu.sslserver:
package com.snhu.sslserver; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class ServerApplicationTests { @Test void contextLoads() { } }
- 方法2:在@SpringBootTest中指定主配置类
若不想修改包路径,直接在测试类的注解中指定主类:
@SpringBootTest(classes = ServerApplication.class) class ServerApplicationTests { // 原有测试代码不变 }
二、找不到「Run as -> Java Application」选项解决
该问题多因Eclipse未正确识别项目类型或主类的可运行属性,按以下步骤处理:
确认项目为Maven项目
右键项目 → 「Configure」→ 「Convert to Maven Project」,确保项目被正确识别为Maven项目,Eclipse会自动加载Spring Boot相关支持。手动配置主类运行
- 打开
ServerApplication.java,右键编辑器空白区域 → 「Run As」→ 「Java Application」; - 若仍无该选项,右键项目 → 「Run As」→ 「Run Configurations」→ 选择「Java Application」→ 点击「New」→ 在「Main class」栏点击「Search」,选中
com.snhu.sslserver.ServerApplication,保存配置后运行。
- 刷新Maven依赖
右键项目 → 「Maven」→ 「Update Project」,勾选「Force Update of Snapshots/Releases」,点击「OK」,等待依赖更新完成后重试运行。
验证步骤
解决上述问题后:
- 运行主类启动项目,访问
http://localhost:8080/hash,可看到包含哈希值的响应内容; - 运行测试类,
contextLoads测试将正常通过。
内容的提问来源于stack exchange,提问作者Destiny Egan
相关产品推荐
相关产品推荐

