Ant拉链改变基础dir到不同级别的拉链

时间:2014-10-29 18:56:17

标签: java ant

我有一个Ant zip任务,如下所示:

<zip basedir="${workspace.dir}"
    destfile="${build.output.dir}/test.zip"
    includes="${eLibrary}/bin/com/**,
              ${Common}
    excludes="${eLibrary}/lib,
              ${eLibrary}/src"
     >
</zip>

eLibrary文件夹的结构类似于:

`--bin
    `--com
`--lib
`--src

我想让zip文件看起来像这样:

`--eLibrary
    `--com
`--Common

创建zip时虽然它具有以下结构:

`--eLibrary
    `--bin
        `--com
`--Common

我尝试过各种类型的include语句,但它们都包含bin文件夹:

includes="${eLibrary}/bin/**
includes="${eLibrary}/bin/com/**
includes="${eLibrary}/bin
includes="${eLibrary}/bin/com

更改basedir不起作用,因为我还需要包含Common文件夹。任何帮助,将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

您可以查看zip任务documentation,了解有关如何实现此目的的示例。下面的代码片段使用zipfileset嵌套元素,该元素将包含的条目映射到存档中的目录。

<zip destfile="${build.output.dir}/test.zip">
    <zipfileset dir="${eLibrary}/bin/com" prefix="${eLibrary}/com"/>
    <zipfileset dir="${Common}" prefix="${Common}"/>
</zip>