Eclipse Maven多模块项目依赖识别正常但运行报Bean未找到错误
问题排查与解决步骤
- 首先确认Spring包扫描范围配置:默认Spring Boot仅扫描启动类所在包及其子包下的托管Bean,你引用的
CarServiceInterface所属包路径为com.company.cars.service,如果启动类在com.company.portal包下,默认无法跨模块扫描到对应Bean,需要在启动类上主动配置扫描路径:
// 示例:同时扫描portal模块和cars模块的根包 @SpringBootApplication(scanBasePackages = {"com.company.portal", "com.company.cars"})
- 检查
CarServiceInterface的实现类注解:确认cars模块中该接口的实现类已经添加了@Service/@Component等Spring托管注解,未加注解的类不会被Spring注册为上下文Bean,无法完成注入。 - 排查Maven依赖配置与缓存问题:
- 先确认portal模块的
pom.xml中已经正确引入cars模块的依赖,且依赖的scope没有设置为provided - Eclipse内置Maven更新经常无法清理历史缓存,你可以在项目根目录执行命令行操作解决缓存问题:
执行完成后重启Eclipse再启动应用测试即可。# 清理所有模块历史编译产物,并将子模块安装到本地Maven仓库 mvn clean install -DskipTests
你附加栈信息中的Action提示为打印错误,无需关注,核心问题始终是CarServiceInterface的实现类未被注册到Spring上下文 - 先确认portal模块的
内容的提问来源于stack exchange,提问作者CryptoGeek981
相关产品推荐
相关产品推荐

