2012-09-06 85 views
0

我想檢查一個屬性是否有這應該從另一個文件中讀入螞蟻檢查Ant屬性標籤的「價值」屬性/元素

任何機構可以請沒有價值的「價值」另外一個罐子。

<property name="a" value="${input.password}" /> 

想檢查是否input.password已經拿到了價值或不xyz.properties文件或不

千恩萬謝 弔臂

PS:其實我已經檢查此行密碼= mypassword存在於.properties文件中,或不存在於ant腳本中。另一種方式是歡迎!

編輯:我從引用的解決方案之一,做什麼,但沒有成功:

<property file="..\..\xyz\application.properties" prefix="input" /> 

<property name="foo" value="${input.password}"/> 
<fail message="Property &quot;foo&quot; has no value"> 
    <condition> 
      <not> 
      <equals arg1="${foo}" arg2=""/> 
      </not> 
    </condition> 
</fail> 

總是得到這個消息:「物權"富"沒有價值」不管這條線的存在與否:密碼=在應用程序屬性中。

+1

您也可以查看http://stackoverflow.com/a/9220635/706695 – HRgiger

回答

1

您可以嘗試使用<fail message="db.schema is not defined!" unless="db.schema"/>塊,例如,如果未定義db.schema,將會失敗。你可能會發現一些this和有用的,這是你在找什麼?

也檢查this。哦,好的,我明白你的意思了,請試試這個(我使用Ant 1.8.2): 這是build.xml文件:

<project name="Bla" default="build" basedir="."> 
<target name="build"> 
    <property file="bla.properties"/> 

<fail> 
    <condition> 
     <not> 
     <equals arg1="${foo}" arg2="bodo"/> 
     </not> 
    </condition> 
</fail> 
</target> 
</project> 

文件bla.properties包含foo=boo,目前它失敗了,如果我將bodo更改爲boo,則成功。

+0

到目前爲止我沒有得到我的問題的答案。我嘗試過所有引用的解決方案;但他們都沒有工作。 –

+0

是肯定的財產有價值;但值得到的值或不需要檢查:。這上面的檢查是否存在或它有價值是的,但是這不是我想要的(糾正我,如果我錯了): –

1
<project name="demo" default="dosomething"> 

    <loadproperties srcFile="check.properties"/> 

    <target name="check"> 
     <input message="Enter value" addproperty="input"/> 

     <condition property="input.matches"> 
      <equals arg1="${input}" arg2="${valuefromfile}"/> 
     </condition> 
    </target> 

    <target name="dosomething" depends="check" if="input.matches"> 
     <echo message="hello world"/> 
    </target> 

</project>