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

多模块Maven项目调用@Bean注解方法时出现“No qualifying bean”错误求助

多模块Maven项目调用@Bean注解方法时出现“No qualifying bean”错误求助

嘿,我看你在搭建多模块Maven+Spring Boot项目时,调用@Bean注解的方法遇到了「No qualifying bean」的错误,先结合你给出的现有信息给你分析问题和解决思路哈!

首先先把你给出的父项目POM代码整理出来:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.2.5</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.basic</groupId>
<artifactId>basic-web-automation</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>basic-web-automation</name>
<description>basic web automation project with Spring Boot</description>
<modules>
    <module>basic-first-module</module>
</modules>

你提到父项目里有个FakerConfig类(应该是标注了@Configuration,里面有@Bean方法生成对应的实例对吧?),子模块在尝试注入这个Bean时找不到,大概率是踩了这几个多模块项目的常见坑:

  • 父项目的打包方式是pom,这种打包方式的项目只会作为聚合/父项目来管理子模块,本身的Java类(比如你的FakerConfig)不会被编译成jar包输出,子模块根本无法访问到这些类,更别说Spring能扫描到里面的Bean配置了。
  • 就算父项目能被访问到,Spring Boot默认的组件扫描范围是当前模块启动类所在的包及其子包,子模块的启动类如果和父项目的FakerConfig不在同一个包路径下,也扫不到这个配置类。
  • 子模块可能没有正确配置依赖,就算继承了父项目,也没法自动获取父项目里的业务类或配置类。

给你几个落地的解决办法,按规范程度排序:

最推荐的规范方案:抽离公共模块

  1. 新建一个子模块,比如叫basic-common-module,把FakerConfig这类需要共享的配置类、工具类都放到这个模块里,这个模块的打包方式设为jar,POM里继承你的父项目。
  2. 修改父项目的<modules>节点,把这个common模块加进去(注意顺序,common模块要在其他依赖它的模块前面):
<modules>
    <module>basic-common-module</module>
    <module>basic-first-module</module>
</modules>
  1. 在basic-first-module的POM里添加对common模块的依赖:
<dependency>
    <groupId>com.basic</groupId>
    <artifactId>basic-common-module</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>
  1. 确保子模块的Spring Boot启动类能扫描到common模块的配置:可以在启动类上加上@ComponentScan(basePackages = "com.basic")(假设所有类都在com.basic包下),或者直接用@Import(FakerConfig.class)手动导入这个配置类。

临时应急方案(不推荐长期使用)

如果暂时不想重构项目,也可以把父项目的<packaging>改成jar,这样父项目的类会被编译打包,子模块继承后能访问到。但这样父项目就不再是纯粹的聚合管理项目了,后续模块多了会很混乱,还是抽公共模块更合理。

另外要注意:父项目的核心作用是统一管理依赖版本、子模块列表这些全局配置,尽量不要在父项目里放具体的业务类、配置类,这是多模块项目的最佳实践哦!

备注:内容来源于stack exchange,提问作者Zain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 10:43:12