Java 即使依赖目标失败,也要运行Ant目标

Java 即使依赖目标失败,也要运行Ant目标,java,email,ant,build,Java,Email,Ant,Build,我的构建文件中有以下代码 <target name="foo"> <some stuff> </target> <target name="bar" depends="foo"> <some other stuff> </target> 当我执行ant-bar时,我希望bar目标运行,即使foo失败。我该怎么做 我不想使用ant contrib的try-catch。首先,ant不是一种编程/脚本语言。它是一个构建工具,

我的构建文件中有以下代码

<target name="foo">
<some stuff>
</target>
<target name="bar" depends="foo">
<some other stuff>
</target>

当我执行
ant-bar
时,我希望
bar
目标运行,即使
foo
失败。我该怎么做


我不想使用ant contrib的try-catch。

首先,ant不是一种编程/脚本语言。它是一个构建工具,因此有局限性

根据您的要求,我从手册中找到:

-继续,执行所有不依赖失败目标的目标

想想“依赖”是为什么而设计的。当目标依赖项失败时,不应执行目标

另一种方法是使用
subant
(当然,不使用
取决于

但是。。它看起来很丑

另一种方法是实现您的定制Ant入口点,并在其中执行您想要的任何操作。使用
Ant-主栏启动Ant

如果你想坚持使用
dependens
,并且你在
foo
中有任何任务不支持
failonerror
,并且你不想
尝试catch
,那么我也不知道怎么做。

考虑一下



如果在目标中添加多个子组件,它是否并行运行?我怀疑是这样的。你知道这方面的情况吗?如果你只是将多个
添加到目标中,并希望它们并行运行,请选中
任务。如果您使用一个
任务和嵌套的
来选择多个构建文件(就像
的文档所显示的那样),那么很显然,没有办法并行运行它们。
<target name="foo">
    <fail message="fail" />
</target>

<target name="bar">
    <subant failonerror="false" target="foo">
        <fileset dir="." includes="build.xml"/>
    </subant>
    <echo message="still runs"/>
</target>
bar:

foo:
   [subant] Failure for target 'foo' of: c:\Tools\files\build.xml
   [subant] The following error occurred while executing this line:
   [subant] c:\Tools\files\build.xml:11: fail
   [echo] still runs
<target name="foo">
  <some stuff>
</target>

<target name="bar">
  <trycatch>
    <try>
      <antcall target="foo"/>
    </try>
    <catch>
      <fail/>
    </catch>
    <finally>
      <some other stuff>
    </finally>
  </trycatch>
</target>