Как я могу разархивировать определенную папку?
Как я могу разархивировать определенную папку с помощью 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
Вы можете использовать mapper в задаче unzip для изменения записанных путей.
<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>
Ответ 3
<unzip dest="${release.dir}/image/tomcat" src="${tomcat.zip}">
<patternset>
<!-- add another star -->
<include name="apache-tomcat-6.0.29/**"/>
</patternset>
</unzip>