當(dāng)前位置:首頁(yè) > IT技術(shù) > 編程語(yǔ)言 > 正文

#yyds干貨盤點(diǎn)#Class文件升級(jí)jar包
2021-12-13 17:46:24

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文件解壓出來(lái)

[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文件替換解壓出來(lái)的文件

[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文件壓入原來(lái)的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

開通會(huì)員,享受整站包年服務(wù)立即開通 >