如何使用ant单独压缩多个文件夹



如果我有一个包含多个子文件夹(例如foo、bar、baz)的文件夹,我如何使用ant将它们分别压缩到foo.zip、bar.zip和baz.zip中,而不逐个执行这些操作?

理想情况下,还应该有一种方法来指定要压缩的文件/子文件夹,而不是"每一个"。

您不想使用ant contrib。ant contrib很糟糕,每次你使用它,你都会招致技术债务。使用蚂蚁时要记住的第一件事是:让蚂蚁成为蚂蚁。蚂蚁就是它,它是陈述性的。ant的初衷是简单地声明属性,并在java中完成大部分工作(在java中,您有一个带有调试器和测试框架的真实IDE)。正如蚂蚁风格的元素中所指出的——"让蚂蚁成为蚂蚁"。如果你必须使用蚂蚁悔过剂,你应该自己做蚂蚁任务。如果你做不到,就不要用蚂蚁。蚂蚁悔过最坏的情况蚂蚁让情况更糟,你很快就会发现事情无法维持。咆哮够了。

你甚至不需要为这个制定任务,这应该有效。。。它获取/tmp中的所有dir并将其压缩。应该能把你带到那里。

    <mapper id="zip" type="glob"
    from="*"
    to="*.zip"/>
<target name="zip-craziness">
    <apply executable="zip">
        <targetfile/>
        <srcfile/>
        <dirset dir="/tmp" />
         <mapper refid="zip"/>
    </apply>
</target>

我在这类事情中使用了来自ant contrib的each。您可以改进这个问题:Ant:如何为目录中的每个文件执行命令?

相关内容

  • 没有找到相关文章

最新更新