博客 / 詳情

返回

jar包中替換指定的class文件

線上, 替換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
  1. ntocc-plat-api.jar 目標jar包
  2. InvoiceApplyService.class: mkdir -p ./com/xxx/ntocc/plat/api/service/order/

    是要更新進去的文件(剛編譯完傳上來的)
    要更新進去, 首先要目錄和jar包中目錄一樣, 所以要創建文件夾目錄,創建完後將class文件挪進去;
  3. 創建類目錄挪進去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
user avatar an_653b347d1d3da 頭像
1 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.