Ant 1.9与Ant 1.8的行为不同,我需要能够在两个过渡期内构建。我需要在1.9中设置zip64mode="never"
属性,但在与1.8一起使用时,会报告zip doesn't support the "zip64mode" attribute
。
有没有办法让ant忽略它不理解的属性?我认为这就是XML的工作方式。
答案 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运行的版本,但它并不好。