【问题标题】:To call a build.xml and run there from a target in another build.xml file调用 build.xml 并从另一个 build.xml 文件中的目标在那里运行
【发布时间】:2014-02-17 08:57:13
【问题描述】:

我有一个 Build.xml 文件。通过使用该文件,我想使用 ant 运行另一个位于另一个位置的 build.xml 文件。我怎样才能做到这一点...?

【问题讨论】:

  • 如果您导入另一个 xml 文件,则从您的主 xml 文件中,然后您可以直接在依赖链中调用所需的目标:<import file="${path.to.another.dir}/build.xml"/>
  • stackoverflow.com/a/25207678/1422630, thru depends="" 我们可以选择其他xml目标

标签: ant build


【解决方案1】:
【解决方案2】:

简而言之,您有两种选择。

您可以包含/导入其他 ant 文件,因此您可以依赖目标或调用其宏。这种方法会合并其他构建文件。如果你调用很多目标,这会更有效,因为文件只加载一次。查看this answer 了解更多关于importinclude 之间区别的信息,并查看官方文档了解更多详细信息(importinclude)。

另一种方法是使用ant 任务在新进程中执行另一个ant 文件。 通过这种方式,您可以在两个构建文件之间实现更高的隔离,但每次调用都会加载另一个文件。

您还可以在导入/包含文件时使用antcall。但是,您通常希望避免这种情况,因为它会创建一个新的项目实例 the same way ant does。在this great post 中使用dependsantcall 之间有更多区别。

祝你好运

【讨论】:

  • antcall 不会调用另一个 ant 文件 - 来自 ant 手册 (ant.apache.org/manual/Tasks/antcall.html):“在同一个构建文件中调用另一个目标,可选择指定一些属性”。在 Ant 1.6(2003 年发布)引入 macrodef 之前,这是一种已弃用的重用功能的方式。
  • 我的错。感谢您的更正。我会马上更新答案。
猜你喜欢
  • 1970-01-01
  • 2014-06-24
  • 1970-01-01
  • 2016-11-22
  • 2012-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-17
相关资源
最近更新 更多