ivy xml 的依赖标签中的传递字段有什么用?
What is the use of transitive field in ivy xml's dependency tag?
我已经尝试搜索它,但没有找到满意的答案,所以我发布了这个问题。如果您有文档可以详细解释这一点,请告诉我。
我的常春藤里有这行xml:
<dependency org="org.apache.commons" name="commons-lang3" rev="3.3.2" transitive="false" />
我不明白这个传递域是干什么用的。我正在处理一个已经构建的项目,我必须添加新的 jar。所以我遵循了它已经存在的相同模式。
我尝试删除此 "transitive" 字段,但我的项目中没有任何更改。然后我将其更改为true。同样,没有变化。这是做什么用的?
这就是它下载所有 3 的原因:源代码、javadoc 和 jar 用于任何特定的 jar 吗?如果删除它不影响我的项目,是否可以从我的常春藤中删除此字段xml?
apache 网站说:"true to resolve dependencies transitively, false otherwise" 这并不能消除我的疑虑。
在干净的工作区中尝试它(还没有依赖项)。
此外,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。
默认值为真。
<dependency org="org.hibernate" name="hibernate-core"
rev="3.3.1.GA" transitive="true" />
对于上述依赖,ivy 下载 "hibernate-core" 的所有依赖 jar,因为传递设置为 "true"。如果为 false,ivy 不会下载这些依赖项。
我已经尝试搜索它,但没有找到满意的答案,所以我发布了这个问题。如果您有文档可以详细解释这一点,请告诉我。
我的常春藤里有这行xml:
<dependency org="org.apache.commons" name="commons-lang3" rev="3.3.2" transitive="false" />
我不明白这个传递域是干什么用的。我正在处理一个已经构建的项目,我必须添加新的 jar。所以我遵循了它已经存在的相同模式。 我尝试删除此 "transitive" 字段,但我的项目中没有任何更改。然后我将其更改为true。同样,没有变化。这是做什么用的? 这就是它下载所有 3 的原因:源代码、javadoc 和 jar 用于任何特定的 jar 吗?如果删除它不影响我的项目,是否可以从我的常春藤中删除此字段xml?
apache 网站说:"true to resolve dependencies transitively, false otherwise" 这并不能消除我的疑虑。
在干净的工作区中尝试它(还没有依赖项)。
此外,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。
默认值为真。
<dependency org="org.hibernate" name="hibernate-core"
rev="3.3.1.GA" transitive="true" />
对于上述依赖,ivy 下载 "hibernate-core" 的所有依赖 jar,因为传递设置为 "true"。如果为 false,ivy 不会下载这些依赖项。