ivy xml依赖标签中的传递字段有什么用处?

问题描述:

我试过寻找它,但我没有找到任何满意的答案,所以我发布这个问题。如果你有一个可以详细解释这个问题的文档,请告诉我。ivy xml依赖标签中的传递字段有什么用处?

我有这条线在我的常春藤的xml:

<dependency org="org.apache.commons" name="commons-lang3" rev="3.3.2" transitive="false" /> 

我不明白这个传递领域是有什么。我正在制作一个已经建好的项目,我不得不添加新的罐子。所以我遵循了它已有的模式。 我试图删除这个“传递”字段,我的项目中没有任何更改。然后我改变它为真。再次,没有变化。这用于什么? 这是为什么它下载所有的3:源,javadoc和jar为任何特定的jar?如果删除它不会影响我的项目,可以从我的ivy xml中删除此字段吗?

apache网站上说:“真正的解决依赖关系,否则错误”这并没有明确我的疑惑。

在干净的工作空间中尝试它(尚无相关性)。 另外,commons-lang3可能不是一个很好的例子,看看transtive做什么,因为它本身并不依赖于任何其他库。


official document(亮点矿)的Example部分:

<dependency org="foo" name="bar" revision="3.0" transitive="false" conf="default->@;runtime,test->runtime"/> 

声明从FOO模块bar的依赖关系,在修订版本3.0。

由于transitive的设置,bar的相关性本身不包含在中。

set transitive =“true”以便及时解决此依赖性,否则返回false。 默认值为true。 <dependency org="org.hibernate" name="hibernate-core" rev="3.3.1.GA" transitive="true" /> 以上依赖性常青藤下载所有依赖罐“hibernate-core”作为transitive设置为“true”。如果它是假的,常春藤不会下载这些依赖关系。