2

我正在使用 ANT 检查两个 jar 中的一组文件的计数。我无法检查是否存在相同模式的文件。

例如,我有 2 个文件,例如 /host/user/dir1/ABC1.txt 和 /host/user/dir1/ABC2.txt。

现在我想检查模式“/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 回答