2

ANT を使用して、2 つの jar ファイルのセットの数を確認しています。同じパターンのファイルが存在するかどうかを確認できません。

たとえば、/host/user/dir1/ABC1.txt と /host/user/dir1/ABC2.txt のような 2 つのファイルがあります。

ここで、パターン「/host/user/dir1/ABC*」のファイルが存在するかどうかを確認したい??

利用可能なタグを使用して個々のファイル /host/user/dir1/ABC1.txt を確認できますが、特定のパターンのファイルを確認することはできません。

前もって感謝します。

個々のファイルの場合、以下は正常に機能します。

<if>
    <available file="${client.classes.src.dir}/${class_to_be_search}.class"/>
    <then>
         <echo> File ${client.classes.src.dir}/${class_to_be_search}.class FOUND in src dir 

         </echo>
         <echo> Update property client.jar.packages.listOfInnerClass</echo>
    </then>
    <else>
         <echo> File ${client.classes.src.dir}/${class_to_be_search}.class NOT FOUND      in src dir.  
         </echo>
    </else>
</if>

しかし、複数のファイルを検索したい: ${dir.structure}/${class_to_be_search}$*.class のようなもの:

4

1 に答える 1

3

if タスクはコア ANT の一部ではありません。

次の例は、ANT条件タスクを使用して実行する方法を示しています。ファイルセットでは、任意のパターンを使用できます。その後、ターゲットの実行は、「file.found」プロパティがどのように設定されているかによって条件付けられます。

<project name="demo" default="run">

    <fileset id="classfiles" dir="build" includes="**/*.class"/>

    <condition property="file.found">
        <resourcecount refid="classfiles" when="greater" count="0"/>
    </condition>

    <target name="run" depends="found,notfound"/>

    <target name="found" if="file.found">
        <echo message="file found"/>
    </target>

    <target name="notfound" unless="file.found">
        <echo message="file not found"/>
    </target>

</project>
于 2013-03-29T12:10:22.440 に答える