0

プロパティ値に、ant の別のファイルから読み取られるはずの値があるかどうかを確認したかった

追加の瓶なしで体を喜ばせることができます。

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

input.password が xyz.properties ファイルから値を取得したかどうかを確認したい

どうもありがとうジブ

PS: 実際には、この行 password=mypassword が .properties ファイルに存在するかどうかを ant スクリプトで確認する必要があります。別の方法も大歓迎です!

編集:参照されているソリューションの1つから実行していますが、成功していません:

<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>

この行が存在するかどうかに関係なく、「プロパティ "foo" には値がありません:password=de」というメッセージが常に表示されます。

4

2 に答える 2

1

たとえば、 db.schema <fail message="db.schema is not defined!" unless="db.schema"/>が定義されていない場合、これは失敗します。この中には役立つものもあるかもしれませんが、これはあなたが探しているものですか?

これもチェック。ああ、わかりました。これを試してください (私は 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と成功します。

于 2012-09-06T11:55:27.143 に答える
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>
于 2012-09-06T21:53:54.560 に答える