引用zipfileset中的文件,该文件在ANT中不存在



我想知道这是否可能:

  • zipfileset中可能存在也可能不存在的文件,因为构建输出

我如何在zipfileset中处理这个

任何想法?

感谢

Karthik

Include/exclude适用于文件,但不适用于目录。至少在1.8。x(这是我使用的,没有检查1.6),您可以使用:

<zipfileset dir="something" prefix="" erroronmissingdir="false">

不产生该错误。"erroronmissingdir"属性允许修复此情况。

我看不出有什么问题。

下面是一个示例zip (jar)文件:

$ jar tvf src.zip
     0 Wed Nov 30 11:54:38 GMT 2011 META-INF/
    62 Wed Nov 30 11:54:38 GMT 2011 META-INF/MANIFEST.MF
     0 Wed Nov 30 11:53:28 GMT 2011 src/
     0 Wed Nov 30 11:57:14 GMT 2011 src/a/
     0 Wed Nov 30 11:53:38 GMT 2011 src/a/exists.txt
     0 Wed Nov 30 11:57:14 GMT 2011 src/a/other.txt

下面是一个示例构建文件,用于测试存在和不存在文件的zipfileset的行为:

<project default="test">
  <target name="test">
    <pathconvert property="found">
      <zipfileset src="src.zip">
        <include name="src/a/not-exists.txt"/>
        <include name="src/a/exists.txt"/>
      </zipfileset>
    </pathconvert>
    <echo message="found: ${found}"/>
    <mkdir dir="extract"/>
    <copy todir="extract">
      <zipfileset src="src.zip">
        <include name="src/a/not-exists.txt"/>
        <include name="src/a/exists.txt"/>
      </zipfileset>
    </copy>
  </target>
</project>

下面是这个示例的输出:

$ ant
Buildfile: C:tmpantbuild.xml
test:
     [echo] found: C:tmpantsrc.zip:src/a/exists.txt
    [mkdir] Created dir: C:tmpantextract
     [copy] Copying 1 resource to C:tmpantextract
BUILD SUCCESSFUL
Total time: 0 seconds

访问不存在的文件没有错误

下面是从zip拷贝到dir文件的结果:

$ find extract/
extract/
extract/src
extract/src/a
extract/src/a/exists.txt

相关内容

  • 没有找到相关文章