Зависит от контекста.
При использовании в качестве пути к классам для задачи javac
отсутствующие каталоги просто игнорируются:
Эта задача удалит все записи, которые указывают на несуществующий
файлы / каталоги из пути к классам, которые он передает компилятору.
Но если вы используете путь, содержащий несуществующий каталог, например, в качестве источника для copy
, вы получите ошибку.
Например, здесь существуют каталоги «один» и «три», а «два» - нет:
<path id="mypath">
<pathelement path="one" />
<pathelement path="two" />
<pathelement path="three" />
</path>
<copy todir="dest">
<path refid="mypath" />
</copy>
BUILD FAILED
/.../build.xml:14: Warning: Could not find resource file ".../two" to copy.
Вы можете использовать dirset
, чтобы отфильтровать недостающие элементы, возможно:
<pathconvert property="dirs.list" pathsep="," refid="mypath">
<map from="${basedir}/" to="" />
</pathconvert>
<dirset id="exists.dirs" dir="." includes="${dirs.list}" />
<copy todir="dest">
<dirset refid="exists.dirs" />
</copy>
[copy] Copied 2 empty directories to 2 empty directories under /.../dest