如果目录包含FOO.xml或BAR.xml(或两者),则此ANT删除任务将完美运行,但如果它们不存在则不会成功返回。
<delete includeemptydirs="true" followsymlinks="false">
<fileset dir="${apache.base}" erroronmissingdir="false">
<include name="**/*"/>
<exclude name="**/FOO.xml **/BAR.xml"/>
</fileset>
</delete>
无论文件集的排除部分是否为空,有没有办法让它工作?
答案 0 :(得分:1)
您的排除模式包含不正确的语法。使用嵌套的include
或exclude
元素时,需要单独列出文件名模式,如下所示:
<delete includeemptydirs="true" followsymlinks="false">
<fileset dir="${apache.base}" erroronmissingdir="false">
<exclude name="**/FOO.xml"/>
<exclude name="**/BAR.xml"/>
<include name="**/*"/>
</fileset>
</delete>
但是,如果您使用fileset
的{{1}}或includes
属性,则以逗号分隔的列表实际上会有效;
excludes