输入以下解压缩命令:
[root@localhost test]#jar -xvf your_jar_name.jar
[root@localhost test]# mkdir your_new_jar
[root@localhost test]# ll
total 212204
drwxr-xr-x 4 root root 4096 Nov 11 20:36 BOOT-INF
drwxr-xr-x 3 root root 4096 Nov 11 20:36 META-INF
drwxr-xr-x 3 root root 4096 Feb 1 1980 org
-rw-r--r-- 1 root root 217273496 Apr 2 11:45 your_jar_name.jar
drwxr-xr-x 2 root root 4096 Apr 2 14:04 your_new_jar
[root@localhost test]# find . -maxdepth 1 ! -name 'your_jar_name.jar' ! -name your_new_jar ! -name '.' -exec echo {} \;
./org
./META-INF
./BOOT-INF
移动原来jar包中的全部文件到 your_new_jar目录下
[root@localhost test]# find . -maxdepth 1 ! -name 'your_jar_name.jar' ! -name your_new_jar ! -name '.' -exec mv {} ./your_new_jar \;
[root@localhost test]# ll
total 212192
-rw-r--r-- 1 root root 217273496 Apr 2 11:45 your_jar_name.jar
drwxr-xr-x 5 root root 4096 Apr 2 14:07 your_new_jar
[root@localhost test]# cd ./your_new_jar
执行替换jar包操作
此处就可以单独把你需要的jar包替换掉后,再次压缩生成新jar
再次压缩生成新jar
[root@localhost test]# jar -cvf0m your_new_jar.jar ./META-INF/MANIFEST.MF .
[root@localhost your_new_jar]# ll
total 216260
drwxr-xr-x 4 root root 4096 Nov 11 20:36 BOOT-INF
drwxr-xr-x 3 root root 4096 Nov 11 20:36 META-INF
drwxr-xr-x 3 root root 4096 Feb 1 1980 org
-rw-r--r-- 1 root root 221433711 Apr 2 14:08 your_new_jar.jar
单个文件的操作
##解压jar包里面的文件到当前目录(目录结构不变)
jar -xvf myapp.jar BOOT-INF/classes/templates/导入模板.xlsx
##压缩文件到jar包里面(目录结构不变)
jar uf myapp.jar -C . BOOT-INF/classes/templates/导入模板.xlsx
##查看文件是否存在
jar tf myapp.jar | grep "BOOT-INF/classes/templates/导入模板.xlsx"
##删除jar包内的文件
zip -d tax-declare.jar BOOT-INF/classes/templates/导入模板.xlsx