如何使用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>
有什么想法吗?
答案 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>