Maven依赖树中同版本依赖的版本管理标识含义及是否存在版本覆盖?
Maven依赖树中同版本下版本管理标识的含义
当Maven依赖树输出中出现(version managed from 2.7.2)且括号内外版本相同时,这个标识的核心含义是:该依赖的版本受项目dependencyManagement节点管控,哪怕依赖自身传递引入的版本和管控版本完全一致,Maven也会明确标注它遵循了版本管控规则,而非直接使用传递过来的版本(哪怕版本号没变化)。
这种情况不存在版本覆盖行为。版本覆盖指的是Maven用dependencyManagement里指定的版本替换了依赖传递过来的不同版本,而你给出的例子中,传递版本和管控版本完全相同,Maven没有做任何版本替换操作,只是在日志里确认该依赖的版本是按照管控规则生效的。
举个对比场景:如果传递过来的xalan版本是2.7.1,而dependencyManagement里指定的是2.7.2,那依赖树会显示(version managed from 2.7.1),这时候才是真正的版本覆盖。
内容的提问来源于stack exchange,提问作者magiciansz
相关产品推荐
相关产品推荐

