记得需要重新打包模块 mvn clean install
由于 依赖顺序 common 在 service 之前 选择了 common 中的依赖

文章插图
5.4 验证 web 模块 (service 在 common前)
<dependencies><dependency><groupId>org.example</groupId><artifactId>backend_service</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.example</groupId><artifactId>backend_common</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies>
记得需要重新打包模块 mvn clean install
由于 依赖顺序 service 在 common之前 选择了 service 中的依赖

文章插图
至此声明优先原则 验证完毕
6.同级依赖后加载 覆盖 先加载原则将依赖改成如下

文章插图
6.1 web 模块在web 的pom 中 直接引入2个 版本的依赖
6.2 验证 web模块(client 7.4.2 在 client 6.8.13 前)
<dependencies><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><version>7.4.2</version></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><version>6.8.13</version></dependency></dependencies>
记得需要重新打包模块 mvn clean install

文章插图
6.3 验证 web模块(client 6.8.13 在 client 7.4.2 前)
<dependencies><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><version>6.8.13</version></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><version>7.4.2</version></dependency></dependencies>
记得需要重新打包模块 mvn clean install

文章插图
7. idea 插件 maven helper最后 推荐一款 idea 中 可以分析快速解决 maven 依赖冲突的 插件 maven helper

文章插图
下面依赖标注的 6.8.13 也表示了 当前maven 选择的 jar 版本

文章插图
总结本篇非常详细了介绍了 maven 中当有重复依赖不同版本jar 的时候 maven 选择jar的 几个规则,并且都一一做了 验证, 你学会了吗, maven 平时我们都是只是 复制粘贴用一用 但是当你遇到问题的时候 需要快速解决它的能力,加油吧!
欢迎大家访问 个人博客Johnny小屋欢迎关注个人公众号

文章插图
【maven 重复依赖不同版本 选择规则】
经验总结扩展阅读
- 外卖的勺子耐高温吗 外卖的勺子能重复使用吗
- 哪些星座男恋爱啥事都依赖女票
- app自动化测试环境安装
- 创建SpringMVC工程
- 彼此独立又彼此依赖的星座情侣
- 重复率很低的无风格签名 小众风格的高级签名
- gradle项目对比maven项目的目录架构以及对gradle wrapper的理解
- 怎么抽金卡发字
- 营改增为什么可以避免重复征税
- 眉心重复长痘怎么处理