【问题标题】:Multiple depends in Ant taskAnt任务中的多个依赖
【发布时间】:2011-02-22 17:48:25
【问题描述】:

如果我有三个目标,一个all、一个compile 和一个jsps,我如何让all 依赖另外两个?

会是:

<target name="all" depends="compile,jsps">

...或者会是:

<target name="all" depends="compile","jsps">

或者可能有一些不同的东西?

我尝试搜索示例 ant 脚本来作为它的基础,但我找不到具有多个依赖项的脚本。

【问题讨论】:

    标签: ant depends


    【解决方案1】:

    前者:

    <target name="all" depends="compile,jsps">
    

    这在Ant Manual 中有记录。

    【讨论】:

    • 请注意此处的示例,不要在逗号后包含空格(这让我很受不了)。
    • @joejag 我的蚂蚁接受逗号后有或没有空格;你用的是哪个版本?
    【解决方案2】:

    这是最重要的。

    如果您想自己快速查看,只需使用 echo 标签

    <target name="compile"><echo>compile</echo></target>
    
    <target name="jsps"><echo>jsps</echo></target>
    
    <target name="all" depends="compile,jsps"></target>
    

    如果你想在排序任务上有更多的灵活性,你也可以查看 antcall 标签

    【讨论】:

      【解决方案3】:
      <target name="all" depends="compile,jsps">
      

      这在Ant Manual 中有记录。

      【讨论】:

        【解决方案4】:

        如果你想并行运行依赖的目标,另一种方法是使用更灵活的 antcall。假设 compile 和 jsps 可以并行运行(即任意顺序),那么所有 target 可以写成:

        <target name="all" description="all target, parallel">
          <parallel threadCount="2">
            <antcall target="compile"/>
            <antcall target="jsps"/>
          </parallel>
        </target>
        

        请注意,如果目标不能并行运行,最好使用第一个风格的依赖属性,因为 antcall 仅在执行时才被解析,如果被调用的目标不存在,则构建只会在该点失败。

        【讨论】:

        • 非常感谢您的有用帖子!由于某种原因,我发现的所有关于 、 和 的信息都没有告诉任何字词如何并行化不是标准的 Ant 任务,而是 targets。答案就是我必须使用 !我将这种方法与 结合起来,以避免为每个列表条目复制粘贴 并且它也有效。
        猜你喜欢
        • 2012-10-25
        • 2013-11-25
        • 1970-01-01
        • 2022-06-15
        • 1970-01-01
        • 2012-09-27
        • 2015-07-26
        • 2020-05-10
        • 1970-01-01
        相关资源
        最近更新 更多