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 文件。