我在使用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>
答案 0 :(得分:1)
如果<target>
属性中的属性存在,则会执行if
属性if
。同样,如果<target>
属性中的属性不存在,则会执行具有unless
属性的unless
。属性的价值无关紧要:真,假,金橘等等。
将if="is.resource.exists"
替换为unless="is.resource.exists"
,你应该做得很好。