5

我有在 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显示“警告:标题错误”但它成功。

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

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

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

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

4

2 回答 2

3

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

zip64Mode="always"

尝试并且也应该为你工作。

于 2020-01-07T17:34:12.720 回答
0

使用 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 包含有关标头的所有必要信息,因此不会出现警告。

当然,7-zip 必须在系统中可用。

于 2019-08-20T08:16:05.393 回答