Ant:如果目录不';不存在?
我使用的是Ant1.8.1。如果目录不存在,如何忽略以下生成错误?我得到的错误是Ant:如果目录不';不存在?,ant,Ant,我使用的是Ant1.8.1。如果目录不存在,如何忽略以下生成错误?我得到的错误是 BUILD FAILED /Users/davea/myco2-myco/build.xml:211: Directory does not exist: /Users/davea/myco2-myco/${mycousa.test.root} 该行是下面条款中的delete指令。本以为“erroronmissingdir”属性可以解决这个问题,但我想不是 <delete>
BUILD FAILED
/Users/davea/myco2-myco/build.xml:211: Directory does not exist: /Users/davea/myco2-myco/${mycousa.test.root}
该行是下面条款中的delete指令。本以为“erroronmissingdir”属性可以解决这个问题,但我想不是
<delete>
<fileset dir="${mycousa.test.root}" erroronmissingdir="false">
<include name="suite.html" />
</fileset>
</delete>
让我知道如何修改上述内容,以便即使目录不存在也不会出现错误
谢谢-Dave我认为问题在于您正在处理的错误条件是创建文件集,而不是删除本身。查看关于删除任务的
failonerror
指令:
<delete failonerror="false">
<fileset dir="${mycousa.test.root}" erroronmissingdir="false">
<include name="suite.html" />
</fileset>
</delete>
参考资料:这是ant中的一个bug(是的,但是如果erroronmissingdir是,那么文件集应该是“缺少/空的”,然后delete将不起任何作用(或者可能会抱怨文件集为空,但实际目录路径没有错误。下面的答案涵盖了这一点:Ant 1.8.1中有一个错误已修复。因此,从Ant 1.8.1开始,
erroronmissingdir=“false”
可以按预期工作,而不需要failonerror=“false”
也会对有效错误产生负面影响(例如,用户没有对文件的写入权限)。这(将Ant更新为1.8.1+)应该是可接受的答案:与上面建议的
更改不同,此解决方案没有忽略有效故障的副作用(例如,如果目录存在,但用户无权从中删除文件)