如果乙個專案是分模組開發,那麼打包成war包後的** 是分別存在於不同模組的jar中!
如何替換掉jar中的乙個.class檔案呢!
1.先解壓jar包
cmd進入對應的檔案路徑,jar -xf ***.jar
2.替換掉.class檔案
3.將解壓後的檔案打包成jar包
jar命令格式:jar [ v m e 0 m i ][-c 目錄]檔名 檔名 檔名
舉例:jar cvfm0 demo.jar com meta-inf-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 檔案包的時候可用。
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...