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”。如果它是假的,常春藤不会下载这些依赖关系。