我目前是软件领域的新手,并且我正在开发一个项目,我的问题与Maven有关。
我的projectA具有root pom.xml和许多模块,每个模块都有自己的pom.xml。 项目B使用项目A作为其依赖项。
问题:
D代表依赖性
模块X具有依赖项Y,并且在根pom.xml中使用了与新版本相同的Y,因此从何处(模块中定义的D或根pom中定义的D) 依赖将在这里被调用? -这与ProjA及其模块有关!
如果ProjB使用的依赖项(具有新版本)已经在ProjA根Pom中使用,那么从何处调用(ProjA中定义的D或ProjB中定义的D)依赖项? -这与使用ProjA依赖的ProjB有关!
这对我来说很混乱,这里的帮助非常感谢!!谢谢。
答案 0 :(得分:0)
正如您在下面的链接中看到的那样,maven使用“最近获胜”策略。这意味着将选择依赖树中的maven遇到的第一个。
您可以运行示例链接,以查看项目中的版本。