如何解压缩特定文件夹?

2022-09-04 02:56:06

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

具体来说,我已经下载了apache-tomcat-6.0.29.zip其中包含文件夹“apache-tomcat-6.0.29”。我希望 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>

有什么想法吗?


答案 1

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

<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>

答案 2

只要 tomcat 存档中有一个目录,以下命令就有效。

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

推荐