两个模块所涉及的依赖性介绍问题
问题 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多模块项目依赖管理:如何解决版本冲突和依赖查找问题?更多详情,请关注图灵教育的其他相关文章!
