Вопрос: В чем разница между форматами файлов .war и .zip?


Я слышал, что они такие же, но я хотел бы знать, всегда ли сжатие. Могу ли я всегда переименовывать файлы .zip в .war и наоборот?


4
2018-04-22 16:13


Источник


Эта или это? - BlueRaja - Danny Pflughoeft


Ответы:


Если ты имеешь ввиду это, то, согласно странице wiki, формат .war совпадает с форматом .jar. .jar - это просто .zip-файлы, которые содержат скомпилированный Java-код, предназначенный для использования в качестве библиотеки или исполняемого файла. Таким образом, ответ будет нет, нет технической разницы; но файлы .jar должны использоваться только для того, для чего они предназначены, а не для архивов общего назначения.

Если ты имеешь ввиду это, то есть небольшая разница: этот формат .war представляет собой файл gzipped-tar (.tar.gz), снова предназначенный для хранения определенных данных (веб-страниц). Gzip и Zip используют один и тот же алгоритм сжатия; Однако:

Gzip не следует путать с форматом ZIP-архива, который также использует [алгоритм сжатия DEFLATE]. Формат ZIP может содержать коллекции файлов без внешнего архиватора, но менее компактен, чем сжатые tarball, содержащие одни и те же данные, поскольку он сжимает файлы по отдельности и не может использовать избыточность между файлами.

В обоих случаях вы должны использовать расширение .war для конкретной цели, для которой оно предназначено.


8
2018-04-22 16:27





Файлы ZIP могут содержать любую структуру файлов и папок.

WAR-файлы (архивы веб-приложений Java) основаны на ZIP, но имеют определенную структуру папок и требования к некоторым из файлов (например, некоторые вещи должны быть в WEB-INF каталог).

Так что да, вы можете переименовать .war-файл в .zip, чтобы просмотреть его содержимое или разархивировать его, используя инструмент, который не знает об этом отношении между файловым форматом. Но не только любой .zip-файл будет создавать рабочее веб-приложение - вам нужно быть осторожным при создании структуры файлов и папок, которые вы собираете.


3
2018-04-22 16:22



@Randolf Пожалуйста, воздержитесь от редактирования любых моих сообщений в будущем. Спасибо. - Daniel Beck♦
@ Даниэль Бек: Извините, я сделал что-то не так? - Randolf Richardson
@Randolf Это отвратительное редактирование в соответствии с /reputation объяснение прав на редактирование (изменение одного символа) и действительно вопрос личного стиля, использовать или не использовать запятую после например (по крайней мере, из того, что я собрал). Я действительно приветствую изменения, которые существенно и объективно улучшают мои сообщения, но у меня даже не было ни одного из них, поэтому я отчасти опасаюсь их. Плюс я горжусь низким количеством исправлений, хотя я не носитель языка;) - Daniel Beck♦
@Randolf Я не думаю, что вы можете как-то увидеть их в списке (поскольку они находятся в Ответы вкладка), поэтому FYI: 1, 2, 3, 4, 5, и этот. - Daniel Beck♦
@ Даниэль Бек: Обычно мои правки фиксируют основные вещи. Это было одним исключением, когда я исправил незначительную ошибку. Я понятия не имел, что это вызывает проблемы с репутацией, и мои намерения состоят в том, чтобы поддерживать высокое качество контента. Я постараюсь не отредактировать ваши сообщения, но я также не хочу находить себя в ситуации «ходьбе по яичной скорлупе», чтобы помнить, кто сообщения не редактируются, поэтому, пожалуйста, простите меня заранее, если я забуду ( этот веб-сайт, похоже, не предоставляет никакой системы для добавления пользовательских заметок рядом с пользователями, иначе я мог бы добавить такую ​​заметку). - Randolf Richardson