Maven依赖调解

实际开发中可能存在这种情况,A->B->C->X(1.0),A->D->X(2.0),此时X出现了2个版本1.0和2.0,此时A项目会选择X的哪个版本?

解决这种问题,maven有2个原则:

路径最近原则

上面A->B->C->X(1.0),A->D->X(2.0),X2.0版本距离A更近一些,所以A项目会选择2.0;

但如果出现了路径距离一样,如:A->B->X(1.0),A->D->X(2.0),此时maven又如何选择?

最先声明原则

如果出现了路径一样,此时会看A的pom.xml中所依赖的B、D在dependencies中的位置,谁的声明在最前面,就以谁的为准,比如A->B在前面,那么最后X会选择1.0版本。

所以两个原则:路径最近原则、最先声明原则;

posted on   companion  阅读(43)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示