Gzip可以采用参数,如here所述。我想使用ant-run从maven中删除一些文件,但documentation没有解释如何传递参数。
这是可能的,如果是的话,该怎么办?
答案 0 :(得分:3)
由于ant gzip任务没有为您传递参数提供必要的属性,因此您应该使用exec任务:
<target name="runGZip">
<exec executable="gzip">
<arg value="bla"/>
....
</exec>
</target>
除此之外,由于您需要可移植性,因此应根据操作系统使用条件执行。如果您需要更多帮助,请告诉我。
答案 1 :(得分:1)
gzip (pack) task除源和目标文件外没有任何参数。将压缩级别传递给gzip的解决方法是使用exec task并运行gzip作为系统命令,但它不是可移植的解决方案。
不要忘记Ant是开源的。 Gzip task使用JDK的GZIPOutputStream
。它仍然没有任何设置压缩级别的方法,但可以create a GZIPOutputStream
subclass支持这一点。之后,您可以创建一个自定义gzip任务(基于原始代码),该任务使用子类GZIPOutputStream
而不是GZIPOutputStream
。该任务可以将压缩级别设置从Ant XML传递到流。