我正在處理*.jar
文件,據我所知,它是一種存檔格式,我可以使用標準工具(如zip
或unzip
命令)進行操作。
我經常需要替換已經壓縮的檔案。到目前為止,我解壓縮,刪除舊文件,將新文件移動到合適的位置(它是來源存檔,所以它是高度分層),然後我重新壓縮它。
是否可以做得更快?這將是 3 個資訊:要替換的檔案、要替換的目標存檔以及要替換到存檔中的檔案的路徑。
答案1
您可以分兩步驟完成:
zip -d myjar.jar path/to/file/to/delete
jar uf myjar.jar -C base/path path/to/file/to/add
-C base/path
如果您已經位於基本目錄(包含)中,則可以忽略該部分path/to/file/to/add
。
當使用 JAR 而不是普通的 ZIP 檔案時,您應該養成盡可能使用jar
而不是使用的習慣;zip
它確保清單正確存儲。
使用普通 ZIP 文件,您只需透過(重新)存檔即可新增或更新文件;因此,不要使用上面的命令,而是jar
使用:
zip myzip.zip path/to/file/to/add
您需要位於基本目錄中才能正常運作。 (也可以工作,但是在使用 ZIP 檔案時jar
需要這樣做很奇怪。)jar