0

ant でファイルの存在をテストする際に問題があります。target にファイルが存在するかどうかを確認し、存在しtestない場合は target にファイルをダウンロードします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>
4

1 に答える 1

1

属性内のプロパティが存在<target>する場合、属性を持つがif実行されます。同様に、属性内のプロパティが存在しない場合、属性を持つが実行されます。プロパティの値が何であるかは問題ではありません: true、false、kumquat などです。if<target>unlessunless

をに置き換えるif="is.resource.exists"unless="is.resource.exists"、うまくいくはずです。

于 2013-05-06T21:44:14.220 に答える