2015-09-10 2 views
0
<delete includeEmptyDirs="false" failonerror="true">  
    <fileset dir="${dest.dir}" includes="a.txt,b.txt,c.abc"/> 
</delete> 

Например, если файл a.txt изменяется на a1.txt2 или что-то, то Ant не подведет, чтобы найти файл. Что делать?Преднамеренно неудача Ant сборки при использовании <delete> с <fileset> включая отсутствующие файлы

+0

<удалить includeEmptyDirs = "ложь" failonerror = "истинный"><набор файлов DIR = "$ {dest.dir}" включает в себя = "a.txt, b.txt, c.abc " /> - код – Sunny

+0

Добро пожаловать в переполнение стека! Этот вопрос может извлечь выгоду из некоторого усовершенствованного форматирования - в будущем постарайтесь не добавлять в заголовок несколько предложений. Кроме того, лучше всего включать более полные образцы кода - особенно, грамматически несбалансированные образцы кода могут быть довольно сложными для расшифровки. –

ответ

1

Это не цель атрибута failonerror в этом случае.
От ant manual delete task:

Управляет ошибкой (такие как неспособность удалить файл) останавливает сборку или просто сообщается на экран. Имеет значение только если тихий «ложь».

Это не ошибка, если набор файлов не соответствует.
Также вам не нужно устанавливать failonerror = true, поскольку оно по умолчанию. Чтобы сделать это не получится, используйте fail с condition и resourcecount, Fe:

<delete includeEmptyDirs="false" failonerror="true">  
<fileset dir="${dest.dir}" includes="a.txt,b.txt,c.abc" id="foobar"/> 
</delete> 

<fail message="Fileset doesn't match !"> 
<condition> 
    <resourcecount when="eq" count="0"> 
    <fileset refid="foobar"/> 
    </resourcecount> 
</condition> 
</fail>