'filematch' 处的非法值:patternSet{ 包括:[Index_*.xml] 不包括:[] }

Illegal value at 'filematch': patternSet{ includes: [Index_*.xml] excludes: [] }

我必须从文件 Index_*.xml 中搜索给定的字符串 "OK"。这个 * 是一个随机生成的 Id。此文件每 15 秒生成一次

这是我到目前为止所做的,但我收到异常“'filematch' 处的非法值:patternSet{ 包括:[Index_*.xml] 排除:[] }”

<?xml version="1.0" encoding="UTF-8"?>
<project name="StringSearch" default="wait-for-some-time" basedir=".">
    <patternset id="filematch">
<include name="Index_*.xml"/>
</patternset>   
<target name="wait-for-some-time">
<waitfor maxwait="15" maxwaitunit="second" timeoutproperty="notfound">
    <resourcecontains refid="filematch" substring="OK" />
</waitfor>
<antcall target="success" />
</target>
<target name="success" depends="fail" unless="notfound">
    <echo message="String OK found" />
</target>
<target name="fail" if="notfound">
    <echo message="String not found" />
</target>
</project>

这里有什么问题的任何建议,或者如果这是不可行的,可能是另一种方法。 谢谢

新代码: 使用这个

<path id="pathtoIndexfile">
    <fileset dir="${destination.dir}">
         <include name="Index_*.xml"/>
    </fileset>
  </path>

<target name="wait-for-some-time">          
    <echo>${destination.dir}</echo>
    <waitfor maxwait="1" maxwaitunit="minute" timeoutproperty="notfound">
    <resourcecontains refid="pathtoIndexfile" substring="OK" />     
    </waitfor>
    <antcall target="success" />            
</target>

1) 例外是 "java.lang.ClassCastException: org.apache.tools.ant.types.Path cannot be cast to org.apache.tools.ant.types.Resource".
2) 对于 fileSet,例外是 "java.lang.ClassCastException: org.apache.tools.ant.types.FileSet cannot be cast to org.apache.tools.ant.types.Resource"

我是不是漏掉了一些罐子?

我通过以下两个步骤实现了解决方案:

  1. 第 1 步:将 index_*.xml 文件复制到 output.xml 文件
  2. 第 2 步:在 output.xml 文件中搜索确定

我临时编写的搜索字符串 "OK" 的代码是

<target name="StringSearch">
    <sleep seconds="10"/>
    <copy tofile="${destination.dir}/output.xml">
            <fileset dir="${destination.dir}">
                <include name="Index_*.xml"/>
            </fileset>
        </copy>
    <sleep seconds="10"/>
    <echo>destination.dir is: ${destination.dir}</echo>
    <loadfile property="OK.exists" srcfile="${destination.dir}/output.xml">
        <filterchain>
            <linecontainsregexp>
                <regexp pattern="OK"/>
            </linecontainsregexp>
        </filterchain>
    </loadfile>
    <echo>OK exists: ${OK.exists}</echo>
</target>