jar包中替換指定的class文件方法詳解
線上, 替換jar包中的一個(gè)class文件
cento7當(dāng)前目錄下:
-rw------- 1 root root 6827 Oct 16 15:00 InvoiceApplyService.class
-rw-r--r-- 1 root root 46470349 Oct 16 14:59 ntocc-plat-api.jar
ntocc-plat-api.jar 目標(biāo)jar包
InvoiceApplyService.class: mkdir -p ./com/xxx/ntocc/plat/api/service/order/
是要更新進(jìn)去的文件(剛編譯完傳上來(lái)的)
要更新進(jìn)去, 首先要目錄和jar包中目錄一樣, 所以要?jiǎng)?chuàng)建文件夾目錄,創(chuàng)建完后將class文件挪進(jìn)去;
創(chuàng)建類目錄挪進(jìn)去class: mv InvoiceApplyService.class com/xxx/ntocc/plat/api/service/order/
jar uvf ntocc-plat-api.jar com/xxx/ntocc/plat/api/service/order/InvoiceApplyService.class` adding: com/arpa/ntocc/plat/api/service/order/InvoiceApplyService.class(in = 6827) (out= 2996)(deflated 56%)
以下是其他基礎(chǔ)jar命令
jar用法:創(chuàng)建、更新、解壓、查閱
兩個(gè)源碼文件
TestJar.java
public class TestJar {
public static void main(String[] args){
System.out.println("==============NEW INSERT================");
System.out.println("========niewj Main Test ===========");
System.out.println(MyUtil.call("hello"));
System.out.println("========niewj Main Test ===========");
}
}MyUtil.java
public class MyUtil {
public static String call(String param){
return "param=" + param;
}
}創(chuàng)建c (create)
cfe
格式: jar cfe jar文件名 Main方法類名 文件列表
生成jar: jar cfe Test.jar TestJar *
jar cfe Test.jar TestJar *
更新u (update)
jar包中java文件改動(dòng)替換
改動(dòng)后編譯, 而后執(zhí)行命令替換更新
jar uvf Test.jar TestJar.class
class文件替換多個(gè)
jar uvf Test.jar TestJar.class MyUtil.class
解壓x (extract)
解壓到當(dāng)前: jar -xvf Test.jar
jar xvf .\Test.jar 已創(chuàng)建: META-INF/ 已解壓: META-INF/MANIFEST.MF 已解壓: MyUtil.class 已解壓: MyUtil.java 已解壓: TestJar.class 已解壓: TestJar.java
列表t (view)
只看不動(dòng): jar tvf Test.jar
jar tvf .\Test.jar
0 Mon Oct 16 14:17:26 CST 2023 META-INF/
90 Mon Oct 16 14:17:26 CST 2023 META-INF/MANIFEST.MF
714 Mon Oct 16 14:03:36 CST 2023 MyUtil.class
120 Mon Oct 16 14:03:28 CST 2023 MyUtil.java
597 Mon Oct 16 14:03:50 CST 2023 TestJar.class
247 Mon Oct 16 14:11:40 CST 2023 TestJar.java以上就是jar包中替換指定的class文件方法詳解的詳細(xì)內(nèi)容,更多關(guān)于jar包替換指定class文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
淺談java里的EL表達(dá)式在JSP中不能解析的問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談java里的EL表達(dá)式在JSP中不能解析的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
python和java哪個(gè)學(xué)起來(lái)更簡(jiǎn)單
在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于python和java哪個(gè)學(xué)起來(lái)更簡(jiǎn)單的相關(guān)內(nèi)容,有興趣的朋友們參考下。2020-06-06
java數(shù)據(jù)庫(kù)連接池的特點(diǎn)及步驟
大家好,本篇文章主要講的是數(shù)據(jù)庫(kù)連接池的特點(diǎn)及步驟,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
讓Java程序自動(dòng)重啟的實(shí)現(xiàn)方法(推薦)
下面小編就為大家?guī)?lái)一篇讓Java程序自動(dòng)重啟的實(shí)現(xiàn)方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
springSecurity過(guò)濾web請(qǐng)求的項(xiàng)目實(shí)踐
SpringSecurity是一個(gè)功能強(qiáng)大的安全框架,提供了全面的 Web 安全功能,它的核心之一是過(guò)濾器鏈,用于攔截和處理 Web 請(qǐng)求,本文就來(lái)介紹SpringSecurity配置和使用過(guò)濾器來(lái)管理Web請(qǐng)求的安全性,感興趣的可以了解一下2025-09-09
SpringCloud全面解析@FeignClient標(biāo)識(shí)接口的過(guò)程
這篇文章主要介紹了SpringCloud全面解析@FeignClient標(biāo)識(shí)接口的過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
如何在Mac上安裝并配置JDK環(huán)境變量詳細(xì)步驟
這篇文章主要介紹了如何在Mac上安裝并配置JDK環(huán)境變量詳細(xì)步驟,包括下載JDK、安裝JDK、配置環(huán)境變量、驗(yàn)證JDK配置以及可選地設(shè)置PowerShell為默認(rèn)終端,需要的朋友可以參考下2025-04-04

