替換jar包中的乙個檔案

2021-10-10 04:27:06 字數 905 閱讀 5842

如果乙個專案是分模組開發,那麼打包成war包後的** 是分別存在於不同模組的jar中!

如何替換掉jar中的乙個.class檔案呢!

1.先解壓jar包

cmd進入對應的檔案路徑,jar -xf ***.jar

2.替換掉.class檔案

3.將解壓後的檔案打包成jar包

jar命令格式:jar [ v m e 0 m i ][-c 目錄]檔名 檔名 檔名

-c 建立新的 jar 檔案包

-t 列出 jar 檔案包的內容列表

-x 展開 jar 檔案包的指定檔案或者所有檔案

-u 更新已存在的 jar 檔案包 (新增檔案到 jar 檔案包中)

[vfm0m] 中的選項可以任選,也可以不選,它們是 jar 命令的選項引數

-v 生成詳細報告並列印到標準輸出

-f 指定 jar 檔名,通常這個引數是必須的

-m 指定需要包含的 manifest 清單檔案

-0 只儲存,不壓縮,這樣產生的 jar 檔案包會比不用該引數產生的體積大,但速度更快

-m 不產生所有項的清單(manifest〕檔案,此引數會忽略 -m 引數

[jar-檔案] 即需要生成、檢視、更新或者解開的 jar 檔案包,它是 -f 引數的附屬引數

[manifest-檔案] 即 manifest 清單檔案,它是 -m 引數的附屬引數

[-c 目錄] 表示轉到指定目錄下去執行這個 jar 命令的操作。它相當於先使用 cd 命令轉該目錄下再執行不帶 -c 引數的 jar 命令,它只能在建立和更新 jar 檔案包的時候可用。

舉例:jar cvfm0 demo.jar com meta-inf

com meta-inf 是兩個檔名

demo.jar 是我要打成的jar包

jar包內檔案替換

jar 引數 引數 說明 c 建立乙個jar包 t 顯示jar中的內容列表 x 解壓jar包 u 新增檔案到jar包中 f 指定jar包的檔名 v 輸出詳細報告 m 指定manifest.mf檔案 0 生成jar包時不壓縮內容 m 不生成清單檔案manifest.mf i 為指定的jar檔案建立索引...

jar包替換的思考

舉例 package com.wmmad.test public class myconstants package com.wmmad.test public class mytest 定義乙個常量類,去獲取常量類並輸出。把編譯好的兩個class檔案獲取過來執行,結果為1。當我們發布後,突然發現常...

Linux命令替換jar包中檔案

一 查詢需要替換的檔案在jar中的位置 jar tvf jar grep執行結果 jar tvf pkpassserver 0.0.1 snapshot.jar grep cer.p12 3289 tue nov 27 16 30 46 cst 2018 boot inf classes stati...