.war 和 .zip 文件格式之间有什么区别?

.war 和 .zip 文件格式之间有什么区别?

我听说它们是相同的,但我想知道压缩是否始终相同。我是否可以始终将 .zip 文件重命名为 .war,反之亦然?

答案1

如果你的意思是那么,根据 wiki 页面,.war 格式与 .jar 格式相同。.jar 文件只是包含已编译的 Java 代码的 .zip 文件,旨在用作库或可执行文件。所以答案是,在技术上没有区别;但 .jar 文件应该只用于其预期用途,而不是作为通用档案。

如果你的意思是,则略有不同:.war 格式是 gzip-tar (.tar.gz) 文件,同样用于保存特定数据(网页)。Gzip 和 Zip 都使用相同的压缩算法;然而

不要将 Gzip 与 ZIP 存档格式相混淆,后者也使用 [DEFLATE 压缩算法]。ZIP 格式无需外部存档器即可保存文件集合,但不如保存相同数据的压缩 tarball 紧凑,因为它会单独压缩文件,无法利用文件之间的冗余。

在这两种情况下,您都应仅将 .war 扩展用于其特定的用途。

答案2

ZIP 文件可以包含任何类型的文件和文件夹结构。

WAR 文件(Java Web 应用程序档案)基于 ZIP,但具有定义的文件夹结构和对其中某些文件的要求(例如,某些内容需要放在目录中WEB-INF)。

因此,是的,您可以将 .war 文件重命名为 .zip 以查看其内容,或者使用不知道文件格式之间关系的工具将其解压缩。但并非任何 .zip 文件都可以生成可运行的 Web 应用程序 — 您必须小心创建要打包的文件和文件夹结构。

相关内容