您可以使用嵌套conditions的一對condition任務對變量值進行正匹配和負匹配,從而相應地設置屬性。 (如果該條件不匹配,它不設置屬性。)
的build.xml
<project>
<condition property="var1" value="class1">
<equals arg1="value" arg2="${the_value}"/>
</condition>
<condition property="var1" value="class2">
<not>
<equals arg1="value" arg2="${the_value}"/>
</not>
</condition>
<echo>the_value: ${the_value}</echo>
<echo>var1: ${var1}</echo>
</project>
輸出:條件肯定匹配
$ ant
Buildfile: C:\Users\sudocode\tmp\ant\build.xml
[echo] the_value: ${the_value}
[echo] var1: class2
BUILD SUCCESSFUL
Total time: 0 seconds
輸出:條件否定匹配
$ ant -Dthe_value=value
Buildfile: C:\Users\sudocode\tmp\ant\build.xml
[echo] the_value: value
[echo] var1: class1
BUILD SUCCESSFUL
Total time: 0 seconds
或者更簡單地說,用value
和來定義單個條件屬性爲相同的結果:
<project>
<condition property="var1" value="class1" else="class2">
<equals arg1="value" arg2="${the_value}"/>
</condition>
<echo>the_value: ${the_value}</echo>
<echo>var1: ${var1}</echo>
</project>
不是[有條件的任務(https://ant.apache.org/manual/Tasks/condition.html)你在找什麼呢? –
嗨Cristain,謝謝你的迴應。有條件的也很好,但我滯後於使用條件任務創建上面提到的代碼。我無法使用條件任務設置屬性。我可以有我的以上要求的代碼示例。 –