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)去的文件(剛編譯完傳上來的)
要更新進(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 springboot Mongodb增刪改查代碼實(shí)例
這篇文章主要介紹了Java springboot Mongodb增刪改查代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Java中的Callable實(shí)現(xiàn)多線程詳解
這篇文章主要介紹了Java中的Callable實(shí)現(xiàn)多線程詳解,接口Callable中有一個(gè)call方法,其返回值類型為V,這是一個(gè)泛型,值得關(guān)注的是這個(gè)call方法有返回值,這意味著線程執(zhí)行完畢后可以將處理結(jié)果返回,需要的朋友可以參考下2023-08-08JAVA遞歸與非遞歸實(shí)現(xiàn)斐波那契數(shù)列
這篇文章主要為大家詳細(xì)介紹了JAVA遞歸與非遞歸實(shí)現(xiàn)斐波那契數(shù)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02SpringBoot開發(fā)案例之打造私有云網(wǎng)盤的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot開發(fā)案例之打造私有云網(wǎng)盤的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04SpringCloud配置動(dòng)態(tài)更新原理解析
在微服務(wù)架構(gòu)的浩瀚星海中,服務(wù)配置的動(dòng)態(tài)更新如同魔法一般,能夠讓應(yīng)用在不重啟的情況下,實(shí)時(shí)響應(yīng)配置的變更,Spring Cloud作為微服務(wù)架構(gòu)中的佼佼者,其動(dòng)態(tài)配置更新的能力尤為引人注目,本文給大家介紹了SpringCloud配置動(dòng)態(tài)更新原理,需要的朋友可以參考下2025-01-01詳解基于MybatisPlus兩步實(shí)現(xiàn)多租戶方案
這篇文章主要介紹了詳解基于MybatisPlus兩步實(shí)現(xiàn)多租戶方案,本文分兩步,通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04spring boot的健康檢查HealthIndicators實(shí)戰(zhàn)
這篇文章主要介紹了spring boot的健康檢查HealthIndicators實(shí)戰(zhàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10詳解openfeign集成spring?cloud?loadbalancer實(shí)現(xiàn)負(fù)載均衡流程
這篇文章主要介紹了openfeign集成spring?cloud?loadbalancer實(shí)現(xiàn)負(fù)載均衡流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Core Java 簡(jiǎn)單談?wù)凥ashSet(推薦)
下面小編就為大家?guī)硪黄狢ore Java 簡(jiǎn)單談?wù)凥ashSet(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09