从另一个build.xml文件的目标调用build.xml并在其中运行

3

我有一个Build.xml文件。通过使用该文件,我想使用ant运行另一个位于另一个位置的build.xml文件。我该如何实现这个目标...?


2
如果你在主xml文件中导入另一个xml文件,那么你可以直接在依赖链中调用所需的目标:<import file="${path.to.another.dir}/build.xml"/> - user3139488
通过 depends="" 属性,我们可以选择其他的 XML 目标。 - Aquarius Power
2个回答

2
简而言之,您有两个选择。
您可以包含/导入另一个ant文件,这样您就可以依赖于目标或调用其宏。这种方法有点像合并其他构建文件。如果您调用了许多目标,则此方法更有效,因为文件仅加载一次。有关importinclude之间差异的更多信息,请查看此答案,有关更多详细信息,请查看官方文档(importinclude)。
另一种方法是在新进程中执行其他ant文件,使用ant任务。通过这种方式,您可以在两个构建文件之间实现更高的隔离性,但每次调用都会加载其他文件一次。
在导入/包含文件时,您还可以使用antcall。但是,您通常会避免使用它,因为它创建一个新的项目实例ant相同。有关使用dependsantcall之间的差异的更多信息,请参见这篇很棒的文章
祝您好运!

1
antcall不会调用另一个ant文件 - 来自ant手册(https://ant.apache.org/manual/Tasks/antcall.html):“在同一构建文件中调用另一个目标,可选择指定一些属性”。这是在Ant 1.6(于2003年发布)引入macrodef之前重用功能的弃用方式。 - Rebse
我的错。谢谢纠正。我会立即更新答案。 - Tobber

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接