Ant 1.9 は Ant 1.8 とは異なる動作をするため、移行期間中に両方でビルドできるようにする必要があります。1.9 で属性を設定する必要がありzip64mode="never"
ますが、1.8 で使用すると、このレポートが表示されますzip doesn't support the "zip64mode" attribute
。
理解できない属性をアリに無視させる方法はありますか? それがXMLの本来の働き方だと思っていました。
まず第一に、次の質問は、どのバージョンの 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 つの回避策を見つけました.それはかなりお粗末ですが.
jar
デフォルトで に設定されているタスクのデフォルトの動作を利用できますzip64mode="never"
。
Zip タスクのドキュメント: 「Zip64 の余分なフィールドが書き込まれることはありません。これは Ant 1.8.x 以前の動作であり、Ant 1.9.1 以降の jar、 ear 、および war のデフォルトの動作です。」
2 つのターゲットを用意して、実行中の ant のバージョンをチェックする必要がなくなりますが、あまり良くありません。