apache ant中不存在如何失败的问题?

时间:2012-10-11 15:01:41

标签: ant

我使用<path />部分有一个非常长的类路径。在另一台机器上,很多罐子都不存在。如何检查所有存在的元素?

1 个答案:

答案 0 :(得分:2)

使用present selector

<project>
 <fileset dir="/home/rosebud/temp/dir1" includes="*.jar" id="srcfileset">
  <present present="srconly" targetdir="/home/rosebud/temp/dir2"/>
 </fileset>
 <echo>Missing files => ${toString:srcfileset}</echo> 
</project>

回显/ home / rosebud / temp / dir1中仅存在的所有文件 如果/ home / rosebud / temp / dir1中的所有文件都存在于/ home / rosebud / temp / dir2中,则文件集将为空。

如果您需要在缺少文件的情况下完成构建,请使用:

<project>
 <fileset dir="/home/rosebud/temp/dir1" includes="*.jar" id="srcfileset">
  <present present="srconly" targetdir="/home/rosebud/temp/dir2"/>
 </fileset>

 <fail message="Missing files => ${toString:srcfileset}">
  <condition>
   <resourcecount refid="srcfileset" when="greater" count="0" />
  </condition>
 </fail>
</project>