如何从 Ant 构建创建的 .zip 解析 7-zip 的 'Warnings: Headers Error'?

How to resolve 7-zip's 'Warnings: Headers Error' from .zip created by Ant build?

我有在 ant 构建脚本中创建 zip 文件的代码。

<target name="zip-dist" description="archiving artifacts">
    <zip destfile="${artifacts}/${zipfile}.zip" update="false" basedir="${target.dist}" includes="*.xyz-*" />
</target>

当使用 win zip right click -> Extract All... 解压缩文件时没有警告,但是当使用 7-zip 解压缩时显示 'Warnings: Headers Error' 但是它成功了.

我知道这对输出没有影响,因为它只是一个警告,所以建议用户 忽略 它或使用 win-zip方法。

但是相信我,让他们理解是不可能的,他们一直在吃我的脑袋。 有很多用户,我一遍又一遍地重复同样的事情。他们仍然希望它得到修复。

我可以在 ant-zip 目标中使用任何属性还是应该在 ant build 中使用任何不同的压缩技术?

我搜索了多个在线资源,这是最后的希望! 请帮忙。

使用 7-zip 代替常规 zip 目标来创建 zip。

<property name="7z.exe" value="C:/Program Files/7-Zip/7z.exe" />

<target name="zip-dist" description="archiving artifacts">
    <exec executable="${7z.exe}">
        <arg value="a" />
        <arg value="-tzip" />
        <arg value="${artifacts}/${zipfile}.zip" />
        <arg value="${target.dist}/*.xyz-*" />
    </exec>
</target>

由于 7-zip 包含有关 header 的所有必要信息,因此不会出现警告。

当然,系统中必须有7-zip。

我遇到了同样的问题。
修复了仅添加一个属性以强制使用 Zip64 扩展的问题:

zip64Mode="always"

尝试一下,应该也对你有用。