我可以让ant忽略它不理解的属性吗?

时间:2013-08-19 09:18:32

标签: ant zip

Ant 1.9与Ant 1.8的行为不同,我需要能够在两个过渡期内构建。我需要在1.9中设置zip64mode="never"属性,但在与1.8一起使用时,会报告zip doesn't support the "zip64mode" attribute

有没有办法让ant忽略它不理解的属性?我认为这就是XML的工作方式。

2 个答案:

答案 0 :(得分:2)

首先,以下问题概述了确定正在运行的ANT版本的各种方法:

您可以尝试以下操作,以使您的构建支持多个版本的ANT

<antversion property="ant.1.9.or.higher" atleast="1.9"/>

<target name="task-with-zip64mode" if="ant.1.9.or.higher">
..
</target>

<target name="task-without-zip64mode" unless="ant.1.9.or.higher">
..
</target>

答案 1 :(得分:0)

好吧,我发现了一个解决方法......但它确实是一个笨蛋。

我可以利用默认为jar的{​​{1}}任务的默认行为。

  

Zip task documentation:   “永远不会意味着没有Zip64额外的字段会写,这就是   Ant 1.8.x及更早版本的行为和 jar的默认行为,ear   和战争从Ant 1.9.1开始。“

它节省了必须拥有两个目标并检查ant运行的版本,但它并不好。