你可以使用任何能够解压 ZIP 文件的命令来解压 .war 文件,最常用和推荐的是 unzip 命令。

使用 unzip 命令(最推荐)
unzip 是专门用于解压 .zip 及其衍生格式(如 .jar, .war, .ear)的命令,功能强大且常用。
基本解压命令
unzip your_file_name.war
这会在当前目录下创建一个与 your_file_name.war 同名的文件夹,并将 .war 文件内的所有内容解压到这个文件夹中。
示例:
假设你有一个名为 myapp.war 的文件,解压它会创建一个 myapp 目录。
# 查看 war 文件 ls -l myapp.war # 解压 war 文件 unzip myapp.war # 查看解压后的内容 ls -l myapp/
解压到指定目录
如果你想将 .war 文件解压到另一个已存在的目录,可以使用 -d 参数。

unzip your_file_name.war -d /path/to/destination_directory
示例:
将 myapp.war 解压到 /var/lib/tomcat9/webapps/ 目录(这是 Tomcat 服务器的典型部署目录)。
unzip myapp.war -d /var/lib/tomcat9/webapps/
解压时覆盖已存在的文件,且不提示
默认情况下,如果目标目录已存在同名文件,unzip 会询问是否覆盖,如果你希望它自动覆盖所有文件,可以使用 -o (overwrite) 参数。
unzip -o your_file_name.war
警告: 使用 -o 参数要小心,它会无条件覆盖所有现有文件,可能导致数据丢失。
查看压缩包内容而不解压
如果你只想查看 .war 文件里包含哪些文件和目录,可以使用 -l (list) 参数。
unzip -l your_file_name.war
使用 jar 命令
因为 .war 文件就是 .jar 文件,所以你也可以使用 Java 自带的 jar 命令来解压。
基本解压命令
jar -xvf your_file_name.war
参数说明:
x: eXtract (解压)v: Verbose (显示详细的解压过程)f: specify the File name (指定文件名)
示例:
jar -xvf myapp.war
这同样会在当前目录下解压文件。
解压到指定目录
jar 命令本身没有像 unzip -d 那样直接的指定输出目录的参数,你需要先切换到目标目录,然后再执行解压命令。
cd /path/to/destination_directory jar -xvf /path/to/your_file_name.war
使用 python 命令(Python 3)
如果你的系统上安装了 Python 3,你也可以利用它的 zipfile 模块来解压,这在没有 unzip 命令的 minimal 环境中很有用。
python3 -m zipfile -e your_file_name.war destination_directory
参数说明:
-m zipfile: 使用 Python 的zipfile模块。-e: eXtract (解压)。destination_directory: 指定解压到的目标目录(如果目录不存在,会自动创建)。
示例:
python3 -m zipfile -e myapp.war ./myapp_unpacked
总结与推荐
| 命令 | 优点 | 缺点 | 推荐度 |
|---|---|---|---|
unzip |
最常用、最简单,专门为 ZIP 格式设计,支持 -d 指定目录 |
需要安装(但几乎所有 Linux 发行版都默认预装) | ⭐⭐⭐⭐⭐ (首选) |
jar |
无需额外安装(只要有 Java 环境),适合 Java 开发者 | 解压到指定目录的语法稍显繁琐 | ⭐⭐⭐⭐ |
python3 |
功能强大,灵活,适合脚本化处理 | 依赖 Python 环境,命令稍长 | ⭐⭐⭐ |
对于绝大多数 Linux 用户,unzip 是解压 .war 文件的最佳选择,它的语法直观、功能齐全,并且是系统管理员的必备工具。
记住核心要点:
.war 文件 = .jar 文件 = .zip 文件,任何能解压 .zip 的工具都能解压它。
