如何从 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"
尝试一下,应该也对你有用。
我有在 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"
尝试一下,应该也对你有用。