Class文件升級(jí)jar包
1、升級(jí)條件
確保需要升級(jí)的*.class文件已經(jīng)上傳到服務(wù)
2、使用命令查找jar包中相應(yīng)的.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 # 這個(gè)是解壓后得到的
-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、使用升級(jí)的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
這里的命令就不總結(jié)了,大家應(yīng)該都會(huì)
本文摘自 :https://blog.51cto.com/u