Linux系统中修改jar包中的文件并重新打包
方法一:使用jar命令工具直接修改
-
列出JAR包内容 :首先,使用jar tf命令列出JAR包中的所有文件和目录,以找到需要修改的文件。
jar tf test.jar 或 jar tf test.jar | grep "BOOT-INF/classes/application.yml"
-
提取文件 :使用jar xf命令提取需要修改的文件,这会在JAR包所在目录生成一个对应文件的目录。
jar xf test.jar BOOT-INF/classes/application.yml
-
编辑文件 :编辑提取出来的文件,可以使用vim或其他编辑器。
vim BOOT-INF/classes/application.yml
-
更新JAR包 :编辑完成后,使用jar uf命令将修改后的文件更新回JAR包中。(三种方式)
1、本地路径和jar路径一直 jar uf test.jar BOOT-INF/classes/application.yml 2、使用 -C 参数,是切换路径,前面是本地路径,后面是jar路径 jar uf test.jar -C /opt application.yml BOOT-INF/classes/application.yml
如果文件名中包特殊字符,需要使用斜杠转义。
方法二:解压缩后重新打包
-
解压JAR包 :使用unzip命令将JAR包解压到一个临时目录。
mkdir temp cd temp jar xf ../your-app.jar
-
修改文件 :进入临时目录,修改需要的文件并保存。
cd testTemp/BOOT-INF/classes/ vim application.yml
-
重新打包 :回到解压的临时目录,使用zip命令更新原JAR文件。
不显示压缩过程: jar cf ../your-app-updated.jar * 显示压缩过程: jar cvf ../your-app-updated.jar *
-
清理临时文件 :完成后,删除临时目录。
rm -rf testTemp