線上, 替換jar包中的一個class文件:
cento7當前目錄下:
-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 目標jar包
-
InvoiceApplyService.class:
mkdir -p ./com/xxx/ntocc/plat/api/service/order/是要更新進去的文件(剛編譯完傳上來的)
要更新進去, 首先要目錄和jar包中目錄一樣, 所以要創建文件夾目錄,創建完後將class文件挪進去; -
創建類目錄挪進去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%)
OK了。
以下是其他基礎jar命令
jar用法:創建、更新、解壓、查閲
0. 前言
兩個源碼文件:
-
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; } }1. 創建c (create)
-
cfe
格式:
jar cfe jar文件名 Main方法類名 文件列表
生成jar:jar cfe Test.jar TestJar *jar cfe Test.jar TestJar *
2. 更新u (update)
1.2.1 jar包中java文件改動替換
改動後編譯, 而後執行命令替換更新:
jar uvf Test.jar TestJar.class
1.2.2 class文件替換多個:
jar uvf Test.jar TestJar.class MyUtil.class
3. 解壓x (extract)
解壓到當前: jar -xvf Test.jar
jar xvf .\Test.jar
已創建: META-INF/
已解壓: META-INF/MANIFEST.MF
已解壓: MyUtil.class
已解壓: MyUtil.java
已解壓: TestJar.class
已解壓: TestJar.java
4. 列表t (view)
只看不動: 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