我在使用ant测试文件存在性时遇到问题。我想检查目标test
中是否存在文件,如果不存在,我想下载目标download
中的文件。但download
目标将始终执行(无论文件存在与否)。谁能指出哪里不对吗?
<!-- Test lib files if exist -->
<target name="test">
<condition property="is.resource.exists" value="true" else="false">
<and>
<resourceexists>
<file file="${lib}/jdom-2.0.5.jar" />
</resourceexists>
<resourceexists>
<file file="${lib}/miglayout-4.0-swing.jar" />
</resourceexists>
</and>
</condition>
</target>
<!-- Download lib files if not exist -->
<target name="download" if="is.resource.exists" depends="test">
<exec dir="${lib}" executable="${lib}/get-libs.sh" />
</target>
如果if
属性中的属性存在,则具有if
属性的<target>
将执行。类似地,如果unless
属性中的属性不存在,则具有unless
属性的<target>
将执行。属性的值是什么并不重要:true, false, kumquat,或者其他。
用unless="is.resource.exists"
替换if="is.resource.exists"
,你应该很好。