这个问题即将阐明传递依赖是什么以及它在Maven中如何在非常高的层次上运行.
我的定义:在A - > B - > C之类的依赖树中,C是A的传递依赖.假设乙已范围编译内甲.
如果c ^具有范围编译内乙,则宣告乙作为依赖性甲足以建立甲使用Maven.但是,如果Ç已范围提供内乙然后,当Maven构建一个,该建筑将不会自动编译一个对Ç除非一个声明ç它的依赖中.
它是否正确?
你的假设是正确的.
有两种类型的Maven依赖项:
直接:这些是在pom.xml
文件下的
部分中定义的依赖项.
传递:这些是依赖关系,它们是直接依赖关系的依赖关系.
与provided
范围的依赖关系意味着:
无论是从最终神器除外(例如,用于war
文件,你不会想包括servlet-api
,servlet-jsp
等等)
或覆盖 - 继承这些项目的项目定义版本和/或覆盖范围