如何解压缩特定文件夹?

时间:2010-10-22 14:59:27

标签: java tomcat ant unzip

如何使用Ant解压缩特定文件夹?

具体来说,我已经下载了包含文件夹“apache-tomcat-6.0.29”的apache-tomcat-6.0.29.zip。我希望Ant解压缩“apache-tomcat-6.0.29”下的所有内容,但不要在层次结构顶部包含“apache-tomcat-6.0.29”。

我尝试了很多东西,但我似乎无法让它发挥作用。

这是我最近的尝试:

<unzip dest="${release.dir}/image/tomcat" src="${tomcat.zip}">
    <patternset>
        <include name="apache-tomcat-6.0.29/*"/>
    </patternset>
</unzip>

有什么想法吗?

3 个答案:

答案 0 :(得分:12)

您可以在解压缩任务中使用mapper来更改写入的路径。

<unzip dest="${release.dir}/image/tomcat" src="${tomcat.zip}">
    <patternset>
        <include name="apache-tomcat-6.0.29/*"/>
    </patternset>
    <mapper>
        <globmapper from="apache-tomcat-6.0.29/*" to="*"/>
    </mapper>
</unzip>

答案 1 :(得分:3)

只要tomcat存档中有一个目录,以下工作就可以了。

<untar src="${release.dir}" dest="${tomcat.tar.gz}" compression="gzip">
  <cutdirsmapper dirs="1" />
</untar>

答案 2 :(得分:0)

<unzip dest="${release.dir}/image/tomcat" src="${tomcat.zip}">
    <patternset>
        <!-- add another star -->
        <include name="apache-tomcat-6.0.29/**"/>
    </patternset>
</unzip>