方式一、 通过vim命令直接修改保存jar----------推荐!!!
1.直接使用 Vim 编辑(推荐文本文件)-----------记得备份原文件(防误操作)
适用于快速修改文本类配置文件(如 .yml
、.properties
):
vim xxx.jar 该命令首先会列出全部文件,可以通过输入/a.properties来搜索,定位到对应的/a.properties文件后回车进入配置文件内进行编辑,:wq保存。
vim yourfile.jar # 打开 JAR 文件
/a.properties # 输入 `/` 后搜索目标文件名,回车进入编辑
:wq! # 保存并强制退出
注意:仅支持文本文件,不可编辑二进制文件
2. 使用 jar
命令替换文件
适合已知配置文件的精确路径(如 Spring Boot 的 BOOT-INF/classes/application.yml
):
jar tf yourfile.jar # 查看文件列表,定位路径
jar xf yourfile.jar path/to/config.conf # 提取配置文件
vim path/to/config.conf # 修改文件
jar uf yourfile.jar path/to/config.conf # 更新回 JAR 包
1.列出jar包中的文件清单
jar tf test-0.0.1-SNAPSHOT.jar
2.提取出内部jar包的指定文件
jar xf test-0.0.1-SNAPSHOT.jar BOOT-INF/classes/a.properties
3.然后可以修改文件
vim BOOT-INF/classes/a.properties
4.更新配置文件到内部jar包.(存在覆盖,不存在就新增)
jar uf test-0.0.1-SNAPSHOT.jar BOOT-INF/classes/a.properties
5.可以查看验证是否已经更改
vim test-0.0.1-SNAPSHOT.jar
提示:jar uf
会覆盖原文件或新增文件。
方式三 解压jar包,修改后重新打包jar
1.解压
unzip test-0.0.1-SNAPSHOT.jar
2.移除jar包,最好备份
rm test-0.0.1-SNAPSHOT.jar
3.重新打包
jar -cfM0 new-test-0.0.1-SNAPSHOT.jar *
或者
jar -cvfm0 test-0.0.1-SNAPSHOT.jar ./META-INF/MANIFEST.MF ./
4.运行
java -jar new-test-0.0.1-SNAPSHOT.jar
jar命令参数:
-c 创建新的存档
-f 指定存档文件名
-M 不配置配置清单,这样还可以使用maven生成的配置清单也就是MANIFEST.MF
-0 不进行压缩,如果压缩会有问题
-m 指定清单文件
-t 列出归档目录
-x 从档案中提取指定的 (或所有) 文件
-u 更新现有的归档文件
-v 在标准输出中生成详细输出