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

Maven多模块中依赖版本覆盖不生效问题求解

解决Maven跨模块依赖版本覆盖问题

问题根源在于你只在core模块的<dependencyManagement>里配置了dep-core的版本,这个配置仅对core模块自身生效,其他子模块(比如custom)不会继承core的dependencyManagement规则,所以dep还是会拉取旧版的dep-core。

要一次性解决所有子模块的版本统一问题,只需做以下操作:

  • 找到项目的根父POM(如果项目还没有统一的父POM,先创建一个作为所有模块的父项目)
  • 在父POM的<dependencyManagement>标签中添加dep-core的版本声明,固定为2.0版本:
    <dependencyManagement>
      <dependencies>
        <dependency>
          <groupId>你的dep-core的groupId</groupId>
          <artifactId>dep-core</artifactId>
          <version>2.0</version>
        </dependency>
      </dependencies>
    </dependencyManagement>
    
  • 确保所有子模块(core、custom以及其他20个自定义模块)的POM中,都通过<parent>标签正确继承这个父POM:
    <parent>
      <groupId>父POM的groupId</groupId>
      <artifactId>父POM的artifactId</artifactId>
      <version>父POM的版本</version>
    </parent>
    

这样配置后,Maven会在所有子模块的依赖解析过程中,优先使用父POM中指定的dep-core 2.0版本,不管是core里的dep间接依赖,还是其他模块的依赖,都会统一生效,无需在每个子模块重复配置。

验证方法:在custom模块执行mvn dependency:tree,查看dep-core的版本是否已经更新为2.0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 16:12:34