如何将参数值传递给maven gzip ant任务?

时间:2011-11-01 18:59:11

标签: ant maven parameters gzip

Gzip可以采用参数,如here所述。我想使用ant-run从maven中删除一些文件,但documentation没有解释如何传递参数。

这是可能的,如果是的话,该怎么办?

2 个答案:

答案 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传递到流。