参考:https://blog.csdn.net/chenjunfengf/article/details/85790966
一. 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
-----------------------------------------------------------------------------------------
二、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
时间被修改了,表示更新包成功
-----------------------------------------------------------------------------------------
命令说明
-t #列出归档目录
-x #从档案中提取指定的 (或所有) 文件
-u #更新现有的归档文件
-f #指定归档文件名