Linux命令替換jar或者war包中的單個文件

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%)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章