Class文件升级jar包
1、升级条件
确保需要升级的*.class文件已经上传到服务
2、使用命令查找jar包中相应的.class文件
[root@sn-web1 safemgr]# jar tvf xxx.jar | grep DateUtil.class
7009 Wed Dec 30 11:11:34 CST 2020 BOOT-INF/classes/com/xxx/utils/DateUtil.class
3、将第2步中查找到的class文件解压出来
[root@sn-web1 safemgr]# jar -xvf xxx.jar BOOT-INF/classes/com/xxx/utils/DateUtil.class
inflated: BOOT-INF/classes/com/xxx/utils/DateUtil.class
[root@sn-web1 safemgr]# ll
total 201852
drwxr-xr-x 3 root root 4096 Nov 1 15:30 BOOT-INF # 这个是解压后得到的
-rwxr-xr-x 1 root root 179 Nov 1 15:19 Dockerfile
-rwxr-xr-x 1 root root 180 Feb 19 2019 restart.sh
-rw-r--r-- 1 root root 103331641 Aug 14 15:39 xxx.jar
drwxr-xr-x 2 root root 4096 Nov 1 15:18 up20211101
4、使用升级的class文件替换解压出来的文件
[root@sn-web1 safemgr]# cp up20211101/DateUtil.class BOOT-INF/classes/com/xxx/utils/
cp: overwrite ‘BOOT-INF/classes/com/xxx/utils/DateUtil.class’? y
[root@sn-web1 safemgr]#
5、将替换好的class文件压入原来的jar包中
[root@sn-web1 safemgr]# jar -uvf xxx.jar BOOT-INF/classes/com/xxx/utils/DateUtil.class
adding: BOOT-INF/classes/com/xxx/utils/DateUtil.class(in = 7253) (out= 3379)(deflated 53%)
[root@sn-web1 safemgr]#
6、重启jar
这里的命令就不总结了,大家应该都会
本文摘自 :https://blog.51cto.com/u