問題背景:在Linux環境上的weblogic發佈war包,有時候只是修改了幾個文件,也要上傳整個war包,這樣很費時間,所以整理了一下Linux環境,更新單個文件的方法。
1.若是要替換的文件直接在war包的根目錄(一級目錄)下,直接使用jar uvf命令替換便可
如:替換a.war中b.xml文件
jar uvf a.war b.xml
注:b.xml須要和a.war在同一個目錄下。
2.若是要替換的文件在war包的二級及如下目錄下,則須要如下步驟:
(1)使用jar tvf war名稱 | grep 目標文件名 查詢出目標文件在war包中的目錄
(2)使用jar xvf war名稱 目標文件名(copy上面查出的全路徑) 將目標文件及所在war包中的目錄解壓到當前路徑
(3)修改目標文件的內容,或者將要新的目標文件替換掉提取出來的目標文件
(4)使用jar uvf war名稱 目標文件名(和步驟(2)中的目標文件名相同) 將新目標文件替換到war包中
舉例:替換SpringJMS04031240.war包中的ZcjdService.class,ZcjdService$1.class文件
(1)# jar -tvf SpringJMS04031240.war |grepZcjdService
(2)# jar -xvf SpringJMS04031240.war WEB-INF/classes/com/inspur/service/ZcjdService.class
(3)# cp ZcjdService.class WEB-INF/classes/com/inspur/service/
cp:是否覆蓋"WEB-INF/classes/com/inspur/service/ZcjdService.class"? yes
(4)# jar -uvf SpringJMS04031240.war WEB-INF/classes/com/inspur/service
正在添加: WEB-INF/classes/com/inspur/service/ZcjdService.class(輸入 = 4426) (輸出 = 1892)(壓縮了 57%)web
轉自.net
做者:李曉LOVE向陽
來源:CSDN
原文:https://blog.csdn.net/u013310119/article/details/79850914
版權聲明:本文爲博主原創文章,轉載請附上博文連接!3d