Artifact_A 在同一范围内对 Artifact_B 既具有直接依赖关系,又具有传递依赖关系。
直接依赖
是否始终先于传递依赖
,还是以更高版本
为准?
有没有比Maven reference manual - Project Dependencies章节更好地说明Maven依赖关系解析
的引用文献?
最佳答案
依赖解析机制可能很复杂。如果有托管版本 (dependencyManagement
),则该版本优先。一般来说,Maven会使用满足所有要求的最高请求版本(例如,某些servlet包可能需要[2.4,3.0)
,而另一个包则需要2.5
,所以 Maven 将使用 2.5)。如果 Maven 找不到这样的版本(在上面的示例中,如果第二个包需要 [3.0,4.0)
),那么它将产生错误。
如果您遇到具体问题,请随时发布包含所有详细信息的问题。
关于Maven 直接和传递依赖解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18160338/