当前位置: 首页 > 图灵资讯 > 技术篇> Maven多模块项目依赖管理:如何解决版本冲突和依赖查找问题?

Maven多模块项目依赖管理:如何解决版本冲突和依赖查找问题?

来源:图灵教育
时间:2025-02-21 19:45:39

两个模块所涉及的依赖性介绍问题

问题 1:api 模块发布后,b 项目如何获取依赖版本号?

部署 api 虽然模块不包括其父亲的项目 pom 但是,文件中的版本号信息 b 项目在导入时仍可下载正确的版本依赖,主要是因为:

  • api 模块父项目 pom 文件位于 b 项目的本地 maven 仓库(已通过安装命令安装)。
  • b 当项目进口时,它将自动从当地进口 maven 仓库(存在 a 项目 pom 文件)获取 api 依赖于模块引用的版本信息。

解决方案:

发布 api 禁止递归部署模块,避免未发布的父亲项目一起发布。

问题 2:避免 api 和 b 项目依赖冲突

api 模块与 b 所有项目都被引用了 mybatis-plus,但是版本不同,导致依赖冲突。除了修改 b 除了项目版本,冲突还可以通过排除机制来解决:

在 b 项目的 pom 排除在文件中 api 在模块中引用 mybatis-plus 依赖:

<dependency>
    <groupId>xxxx</groupId>
    <artifactId>module-api</artifactId>
    <exclusions>
        <exclusion>
            <groupId>com.baomidou</groupId>
            <artifactId>*</artifactId>
        </exclusion>
    </exclusions>
</dependency>

以上是Maven多模块项目依赖管理:如何解决版本冲突和依赖查找问题?更多详情,请关注图灵教育的其他相关文章!