两种方式修改jar内配置文件(1 解压jar,修改并重新打包;2 直接修改jar内指定配置文件)

34 篇文章 1 订阅

参考:修改jar包中的配置文件_木头房子的的博客-CSDN博客

-----------------------------------------------------------------------------------------

一、jar工具直接修改包内文件

1. 列出jar包中的所有目录及目录下文件,找到需要修改的文件并复制路径(如果知道文件具体位置,则跳过此步)

#列出jar下所有目录及目录下文件

jar tf test.jar

2. 提取jar包中需要修改的文件(会在jar所在目录生成一个对应文件的目录),编辑并保存新增目录下的文件

#取出jar包中的指定文件

jar xf test.jar BOOT-INF/classes/application.yml

#使用vim命令或者其他方式修改文件 并保存

 vim BOOT-INF/classes/application.yml

3. 更新配置文件到远jar包内

#更新配置文件application.yml到test.jar包内

jar uf test.jar BOOT-INF/classes/application.yml

时间被修改了,表示更新包成功

-----------------------------------------------------------------------------------------

同上 jar uf 命令打入文件到jar包:

1. 直接解压 .jar文件

2. 保留解压目录下要替换的文件,其他文件删掉

3. 将jar解压后的BOOT-INF文件夹放到要打入的jar包同级目录

4. 使用 jar uf 命令将对应目录下的文件打入jar包

#更新配置文件  将application.yml到test.jar包内

jar uf test.jar BOOT-INF/classes/application.yml

#如果有内部类,则需要对文件名中的$符号做特殊处理

#错误示例 

#jar uf test.jar BOOT-INF/classes/application.yml
#正确示例

5. 如遇内部类、文件名包含$符号的情况处理

文件名包含$符号,需要在uf命令的$符号前使用\,如果不用\ 则可能导致当前文件打不进jar包

#将文件名包含$符号的文件打入jar 

jar uf test.jar BOOT-INF/classes/Test\$TestInner.Class

-----------------------------------------------------------------------------------------

命令说明

-t #列出归档目录 
-x #从档案中提取指定的 (或所有) 文件 
-u #更新现有的归档文件 
-f #指定归档文件名 

二. unzip方式解压并更新jar包(不建议使用,有可能导致包不可用

1. 解压jar到临时目录

#将test.jar解压到新目录,新目录自动命名为testTemp

unzip -x test.jar -d testTemp

2. 修改指定文件(这里修改文件application.yml;使用vim命令或者其他方式修改文件,然后保存)

#进入临时目录下,修改需要修改的文件并保存

cd testTemp/BOOT-INF/classes/

#编辑文件,编辑完保存

vim application.yml

3. 在临时子目录中更新jar文件

#回到jar的解压临时目录

cd /root/TestFolder/testTemp/

#在临时子目录中更新原jar文件(这里用相对路径../进行更新上层目录下的jar文件)

zip -ru ../test.jar *

#删除临时目录

rm -rf testTemp

  • 7
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值