相信大家都碰到過專案發包,因為某種小問題需要重新發包,但是這種改動非常小,網路不好的情況下發包啥的相當耗時,特別是網路不好,包又特別大的時候,那就更加難受了,我想著要是直接替換jar包裡面的某個檔案那不是,省時省力,於是查閱了一下資料,果真可以完美替換。
jar命令格式:jar [ v m e 0 m i ][-c 目錄]檔名…
其中這四個引數必須選選其一。[v f m e 0 m i ]是可選引數,檔名也是必須的。
-c 建立乙個jar包
-t 顯示jar中的內容列表
-x 解壓jar包
-u 新增檔案到jar包中
-f 指定jar包的檔名
-v 生成詳細的報造,並輸出至標準裝置
-m 指定manifest.mf檔案.(manifest.mf檔案中可以對jar包及其中的內容作一些一設定)
-0 產生jar包時不對其中的內容進行壓縮處理
-m 不產生所有檔案的清單檔案(manifest.mf)。這個引數與忽略掉-m引數的設定
-i 為指定的jar檔案建立索引檔案
-c 表示轉到相應的目錄下執行jar命令,相當於cd到那個目錄,然後不帶-c執行jar命令
步驟如下:
如果要替換的檔案在jar包的二級及以下目錄下,則需要以下步驟:
(1)使用jar tvf jar名稱 | grep 目標檔名 查詢出目標檔案在war包中的目錄
(2)使用jar xvf jar名稱 目標檔名(copy上面查出的全路徑) 將目標檔案及所在war包中的目錄解壓到當前路徑
(3)修改目標檔案的內容,或者將要新的目標檔案替換掉提取出來的目標檔案
(4)使用jar uvf jar名稱 目標檔名(和步驟(2)中的目標檔名相同) 將新目標檔案替換到 jar包中
例如:我的專案檔案在/opt/project資料夾下面
查詢目標檔案
解壓目標檔案
覆蓋檔案到指定資料夾
按照路徑覆蓋到jar包
)將jar包拷貝到本地進行驗證,開啟jar包的工具用jd-jui就行。
替換之前**
替換之後**:
以後碰到這種小改動就省事多了,哈哈。
linux_直接在linux裡面替換jar包裡的某個檔案
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...
jar包內檔案替換
jar 引數 引數 說明 c 建立乙個jar包 t 顯示jar中的內容列表 x 解壓jar包 u 新增檔案到jar包中 f 指定jar包的檔名 v 輸出詳細報告 m 指定manifest.mf檔案 0 生成jar包時不壓縮內容 m 不生成清單檔案manifest.mf i 為指定的jar檔案建立索引...
Linux部署jar檔案
將springboot生成的jar檔案,在linux啟動。tips description 啟動重啟server服務 埠號,根據埠號確定pid port 7091 啟動命令所在目錄 home opt xx 啟動jar檔名,需要修改為自己jar包的名字 查詢出監聽了port埠tcp協議的程式 pid ...