编辑 JAR 包内嵌套的 TXT 文件(Vim 操作)

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

相关推荐
Lakers-248 分钟前
1987年5月29日晚上19-21点出生性格、运势和命运
java
AI人工智能+电脑小能手13 分钟前
【大白话说Java面试题 第194题】【08_Kafka篇】第10题:简述 Kafka 的 Rebalance 机制?
java·kafka·消费者组·rebalance·分布式消息队列
__log18 分钟前
幂等性设计:从“重复提交“到“稳如磐石“的系统防护
java·开发语言·spring boot
spider_xcxc19 分钟前
Helm 部署 K8s 集群完整笔记
java·开发语言·kubernetes
祐樹21 分钟前
1987年5月23日下午15-17点出生性格、运势和命运
java
zhangjw3422 分钟前
第35篇:Spring Boot入门:自动配置+快速搭建,简化企业开发
java·spring boot·后端
geovindu38 分钟前
java: Backtracking Algorithm
java·开发语言·windows·后端·算法·回溯算法
NWU_LK42 分钟前
【WebFlux】第六篇 —— 全链路响应式与数据库交互
java·数据库
一只小菜鸡..43 分钟前
南京大学 操作系统 (JYY) 学习笔记:Hello, OS World! (程序的机器视角)
java·笔记·学习
叶总没有会1 小时前
3.2 构建AI智能体项目扩展知识
java·数据库·人工智能·spring·ai