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

您所在的位置:网站首页 怎么修改iso里面的文件 两种方式修改jar内配置文件(1 解压jar,修改并重新打包;2 直接修改jar内指定配置文件)

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

2023-12-21 07:01| 来源: 网络整理| 查看: 265

参考:修改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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3