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

执行父模块mvn install时,Java子模块无法找到其他模块依赖

解决Spring Boot多模块Maven编译依赖找不到的问题

问题核心原因

你的父POM中模块声明顺序错误:Maven是按照<modules>标签里的顺序依次构建模块的,当前你先声明了contract模块,再声明infrastructure模块。这就导致构建contract时,依赖的infrastructure模块还没被编译安装到本地仓库,自然找不到对应的类;而IDEA会自动扫描所有模块的源码,不受构建顺序影响,所以能正常识别。

具体解决步骤

  1. 修改父POM的模块顺序
    打开项目根目录下的pom.xml,把infrastructure模块移到contract前面:

    <modules>
        <module>infrastructure</module>
        <module>contract</module>
    </modules>
    
  2. 清理Maven缓存并重新构建
    执行以下命令彻底清理并重新安装所有模块:

    mvn clean install
    
  3. 验证依赖配置(可选)
    确认contract模块的pom.xml中对infrastructure的依赖配置正确,确保groupId、artifactId、version和infrastructure模块的POM完全一致:

    <dependency>
        <groupId>com.catService</groupId>
        <artifactId>infrastructure</artifactId>
        <version>${project.version}</version>
    </dependency>
    

执行完以上步骤后,Maven就能正常按依赖顺序构建模块,编译错误应该会消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 16:46:15