У меня есть код для создания почтового файла в сценарии сборки муравья.

<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?

Я искал несколько онлайн-источников, это последняя надежда! Пожалуйста помоги.

5
Prem 19 Авг 2019 в 16:33

2 ответа

Лучший ответ

Вместо обычной zip-цели используется 7-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 должен быть доступен в системе.

0
Prem 21 Авг 2019 в 06:47

У меня была такая же проблема.
Исправлено добавление только одного атрибута для принудительного расширения Zip64:

zip64Mode="always"

Попробуйте и должны работать на вас тоже.

0
סטנלי גרונן 7 Янв 2020 в 17:53