我有一个Ant目标按顺序执行2个步骤:
<target name="release">
<antcall target="-compile"/>
<antcall target="-post-compile"/>
</target>
使用上面的脚本,如果“-compile”目标失败,它会立即退出。 “-post-compile”没有机会运行。有没有办法确保第二步(-post-compile)执行即使第一步(-compile)失败?
答案 0 :(得分:2)
我认为你在寻找
-keep-going(-k)
这将告诉Ant继续构建所有不依赖于失败目标的目标。
答案 1 :(得分:2)
如果您使用的是ant-contrib(这是非常常见的),您可以使用 try-catch task 并将post-compile
调用放入其finally
} element。
此外,如果你不使用ant-contrib,那么你可以使用 subant 任务来调用你的compile
目标。 subant
具有failonerror
属性,您可以使用该属性单独忽略失败的目标。 task description page上的大量用法示例。