v编辑 JAR 包内嵌套的 TXT 文件(Vim 操作)
- [编辑 JAR 包内嵌套的 TXT 文件(Vim 操作)](#编辑 JAR 包内嵌套的 TXT 文件(Vim 操作))
-
- [步骤 1:解压外层 JAR 包](#步骤 1:解压外层 JAR 包)
- [步骤 2:定位并解压内层 JAR 包](#步骤 2:定位并解压内层 JAR 包)
- [步骤 3:用 Vim 编辑 TXT 文件](#步骤 3:用 Vim 编辑 TXT 文件)
- [步骤 4:重新打包内层 JAR](#步骤 4:重新打包内层 JAR)
- [步骤 5:重新打包外层 JAR](#步骤 5:重新打包外层 JAR)
- [步骤 6:清理临时文件(可选)](#步骤 6:清理临时文件(可选))
编辑 JAR 包内嵌套的 TXT 文件(Vim 操作)
由于 JAR 本质是压缩文件,无法直接修改内部文件,需通过「解压 → 编辑 → 重新打包」的流程操作。
以下是具体步骤:
步骤 1:解压外层 JAR 包
假设外层 JAR 为 outer.jar:
bash
mkdir temp_outer # 创建临时目录
cd temp_outer
jar -xf ../outer.jar # 解压外层 JAR 到当前目录
步骤 2:定位并解压内层 JAR 包
进入外层 JAR 的 lib 目录,处理目标内层 JAR(例如 inner.jar):
bash
cd lib # 进入外层 JAR 中的 lib 目录
mkdir temp_inner # 创建内层临时目录
cd temp_inner
jar -xf ../inner.jar # 解压内层 JAR 到当前目录
步骤 3:用 Vim 编辑 TXT 文件
找到内层 JAR 中需要修改的 TXT 文件(例如 config.txt):
bash
vim path/to/config.txt # 替换为实际文件路径
编辑完成后,按 :wq 保存退出。
步骤 4:重新打包内层 JAR
回到内层 JAR 解压目录的上层,重新生成 inner.jar:
bash
cd .. # 回到 lib 目录(temp_inner 的上层)
jar -cfM inner.jar -C temp_inner . # 用修改后的文件重新打包
参数说明:
... -c:创建新 JAR
... -f:指定输出文件名
... -M:不自动生成 MANIFEST.MF(保留原配置)
... -C temp_inner .:打包 temp_inner 目录下的所有文件(忽略临时目录本身)
步骤 5:重新打包外层 JAR
回到外层 JAR 解压目录的上层,重新生成 outer.jar:
bash
cd ../../ # 回到 temp_outer 的上层
jar -cfM outer.jar -C temp_outer . # 用修改后的文件重新打包
步骤 6:清理临时文件(可选)
完成后删除临时目录:
bash
rm -rf temp_outer
通过以上步骤,即可修改嵌套在 JAR 包内 lib 目录下的 TXT 文件。