如何识别文件是否是从特定存档中复制的



我是ANT的新手。

我有一个非常具体的场景需要处理:

STEP-1:我需要在某些ear文件中查找文件名的模式。如果模式匹配,那么我需要提取这些文件。步骤2:如果从某个ear(类似于zip文件)文件中提取了任何文件,那么我需要搜索另一组文件,并复制这些文件。

要处理的情况是"如何识别文件是否是从特定归档中复制的",如果找到,则转到步骤2,否则转到下一个归档。

我已经实现了第1步,但不知道如何实现第2步。

第1步

<!-- Set via arguments passed -->
<patternset id="pattern.needtocopy" includes="${needtocopyfile.pattern}" excludes="${ignore.pattern}"> 
 </patternset>
<target name="get-binaries-from-baseline">
<for param="binary">
    <path>
        <fileset dir="${baseline.dir}/target/aaa/bbb/ccc" includes="*.ear" />
    </path>
    <sequential>
        <basename file="@{binary}" property="@{binary}.basename" />
        <unzip src="@{binary}" dest="${baseline.dir}">
            <patternset refid="pattern.needtocopy" />
            <mapper type="flatten" />
        </unzip>
    </sequential>
</for>
</target>

第2步:

在这方面需要帮助。

谢谢。

我使用了一个基于我能找到的资源的groovy脚本,解决了同样的问题。

<target name="findJars">
    <zipfileset id="found" src="${ear-name}">
        <patternset refid="${patternsetref}" />
    </zipfileset>
    <groovy>
        project.references.found.each {
            println it.name
            println project.properties.'ear-name'
            println project.properties.'dest.dir'
        }
    </groovy>
</target>

然后我添加了另一个任务,它将这个文件名和ear文件名作为输入,并根据文件到搜索模式提取相关的jar。

相关内容

  • 没有找到相关文章

最新更新