Файлы внутри WAR выглядят двойными

Я использую ANT для создания файла WAR для моего веб-приложения на Java. Однако, когда я заглядываю внутрь файла WAR, я вижу, что каждый файл появляется дважды (не папки, а только файлы). Когда я извлекаю файл WAR, ошибок нет, и структура файла выглядит корректной, двойных файлов нет. Если я затем соберу извлеченный файл обратно в ZIP-файл, то архив будет почти точно в два раза меньше размера в байтах исходного файла WAR, созданного ANT.

Я использую следующую задачу для создания моего файла WAR:

<target name="dist" depends="package">          
    <war destfile="${bin.dir}/webapp.war" basedir="${tmp.dir}">
        <fileset dir="${tmp.dir}" />
    </war>
</target>

Когда я проверяю файловую структуру в tmp.dir файлы кажутся нормальными. Я использую ANT из Eclipse (Helios) в Ubuntu 9.10.

1 ответ

Решение

Я узнал, что вызвало проблему. <fileset> тег внутри <war> Задача состоит в том, чтобы заставить файлы быть добавлены в архив дважды. Было бы хорошо, если бы ANT выдавал ошибку, но это не так. Так как я хочу добавить весь tmp.dir к моему архиву я должен был привыкнуть:

<target name="dist" depends="package">          
    <war destfile="${bin.dir}/webapp.war" basedir="${tmp.dir}">
        <!-- No extra <fileset> -->
    </war>
</target>

В случае, если кто-то еще сталкивается с этой проблемой, я оставляю этот вопрос здесь, а не удаляю его.

Другие вопросы по тегам