首页 修改 jar 包文件
文章
取消

修改 jar 包文件

jar 包内的文件修改一共分为三个步骤:

  1. 解包,提取文件
  2. 修改文件
  3. 打包,修改文件

1. 找到目标文件路径

1
2
3
4
5
6
7
8
# 命令模板。${filename} 指的是目标文件的文件名,因为用的是 grep,所以支持模糊匹配
jar tvf xxx.jar | grep ${filename}

# 示例:查看 application-test.yml 文件的路径地址
[root@-node3 app-wechat]# jar tvf wechat.jar | grep application-test.yml
  1243 Fri Jan 07 12:17:46 CST 2022 BOOT-INF/classes/application-test.yml

# 从输出的内容可以获知, 目标文件的路径:BOOT-INF/classes/application-test.yml

2. 解包,提取文件

1
2
3
4
5
6
# 命令模板。${dir} 就是上一步得到目标文件路径(BOOT-INF/classes/application-test.yml)
jar xvf xxxx.jar ${dir}

# 示例,提取出文件 application-test.yml 到本级目录下
[root@node3 app-wechat]# jar xvf wechat.jar BOOT-INF/classes/application-test.yml
 inflated: BOOT-INF/classes/application-test.yml

此时文件已被解压,并在本机目录中。可以使用文本编辑器(vim) 进行修改保存。

3. 打包,修改文件

1
2
3
4
5
6
7
8
# 命令模板。${dir} 是目标文件路径(BOOT-INF/classes/application-test.yml)
jar uvf xxx.jar ${dir}

# 示例:将修改后的目标文件再打进 jar 包中
[root@node3 app-wechat]# jar uvf wechat.jar BOOT-INF/classes/application-test.yml
adding: BOOT-INF/classes/application-test.yml(in = 1243) (out= 891)(deflated 28%)

# 从输出结果可以说明已成功修改 jar 包的目标文件

完结撒花 😂 ! 制作不易,如引用原文,必须附此原文链接,否则违者必究!😈


本文由作者按照 CC BY 4.0 进行授权