以替换/opt/aaa/test/xxx.jar为例,将其中依赖的log4j-api-2.14.0.jar替换为log4j-api-2.15.0.jar:
处理前先进行备份!!!
cd /opt/aaa/test
mkdir temp1213 # 新建一个临时路径
cp xxx.jar ./temp1213 # 将需要替换的部署jar包复制到临时路径
cd temp1213/
jar -xvf xxx.jar # 将jar包解压 多了三个文件夹 BOOT-INF,META-INF,org
cd BOOT-INF/lib
rm -rf log4j-api-2.14.0.jar # 删除要替换的目标依赖jar包
mv log4j-api-2.15.0.jar BOOT-INF/lib/ # 将新的依赖jar包移动到BOOT-INF/lib/路径
打包:jar -cfM0 new-xxx.jar BOOT-INF/ META-INF/ org/ # 把解压的jar包重新打包,如果war包改名为jar后缀之后解压也能得到这三个目录,war包也可以使用相同的操作更换jar包
打包:jar -cfM0 equipment-web-0.0.1.jar ./BOOT-INF ./META-INF/ ./org/
移动新包:mv new-xxx.jar ../
ls
删除存放旧依赖文件夹:rm -rf temp1213/