Ant If-Unless
Ant If和 Unless都是 <target> 元素(任务)的属性。这些属性用于控制任务是否运行。
除了target之外,还可以与 <target> 和 <junit> 元素。
在早期版本和Ant 1.7.1 中,这些属性只是属性名称。如果定义了属性,则即使值是false也可以运行。
例如,即使传递false后也无法停止执行。
//build.xml
<project name="java-ant project" default="run"> <target name="compile"> <available property="file.exists" file="some-file"/> <echo>File is compiled</echo> </target> <target name="run" depends="compile" if="file.exists"> <echo>File is executed</echo> </target> </project>
输出:
无参数: 运行时不带命令行参数。只需在终端输入 ant ,但首先定位到项目位置,它将显示空输出。
带有参数: 现在传递参数,但 false 。
Ant -0Dfile.exists = false
现在传递参数,但 true 。 Ant -Dfile.exists = true
从Ant 1.8.0开始,我们可以使用允许仅在value为真正。在新版本中,它为我们提供了更大的灵活性,现在我们可以在命令行中覆盖。参见下面的示例。
//build.xml
<project name="java-ant project" default="run"> <target name="compile" unless="file.exists"> <available property="file.exists" file="some-file"/> </target> <target name="run" depends="compile" if="${file.exists}"> <echo>File is executed</echo> </target> </project>
输出:
无参数: 在不使用命令行参数的情况下运行它。只需在终端输入 ant ,但首先定位到项目的位置,它将显示空的输出。
带参数: 现在传递参数,但 false 。 Ant -Dfile.exists = false
无输出,因为这次如果没有执行。
带有参数: 现在传递参数,但 true 。现在它显示输出,因为评估了if。 Ant -Dfile.exists = true
下一章:Ant type 类型集
Apache Ant提供了丰富的类型集,下面提供了其中的一些类型。我们可以使用它们来处理数据,文件, path 等,也可以用作服务。类型说明ClassFileSet它用于创建具有所有必需类的Jar。Di ...