查看 jar 包中的文件列表,並進行重定向
jar -tvf a.jar > a.txt
更新文件到 jar 中,目錄需對應
jar -uf a.jar com/a.class
- a.class 文件在 jar 包中的目錄是 com/a.class。
- a.class 文件在本地路徑,相對 a.jar 包,也是 com/a.class。
-rw-r--r--. 1 root root 5418 Aug 9 23:59 a.jar drwxr-xr-x. 3 root root 19 Oct 10 01:58 com
增加文件到 jar 中,目錄需對應
與修改一致,jar 中原來沒有的目錄,會自動創建。
jar -uf a.jar com/test/a.class jar -tvf a.jar > a.txt
查看 a.txt 內容會發現 jar 包中自動創建了 com/test/ 目錄。
JAR 命令
命令 | 說明 |
---|---|
-c | 在標准輸出上創建新歸檔或空歸檔。 |
-C | 在執行 jar 命令期間更改目錄。jar -uf a.jar -C classes * 將 classes 目錄內的所有文件加到 a.jar 中,但不添加類目錄本身。 |
-f | 第二個參數指定要處理的 jar 文件(文件列表中的第一個元素是要創建或訪問的存檔文件名字)。在 -c (創建)情形中,第二個參數指的是要創建的 jar 文件的名稱(不是在標准輸出上)。在 -t (表(或 -x (抽取)這兩種情形中,第二個參數指定要列出或抽取的 jar 文件。 |
-i | 應提供的索引信息。 |
-m | 包括指定的現有清單文件中的清單信息(文件列表的第二個元素是外部的清單文件名)。用法舉例:jar cmf myManifestFile myJarFile *.class |
-M | 不創建項目的清單文件。 |
-t | 在標准輸出上列出內容表(存檔文件的內容應制成表格)。 |
-u | 通過添加文件或更改清單來更新現有的 JAR 文件。例如:jar -uf a.jar a.class 將文件 a.class 添加到現有的 JAR 文件 a.jar 中,而 jar umf manifest foo.jar 則用 manifest 中的信息更新 a.jar 的清單。 |
-v | 在標准錯誤輸出設備上生成長格式的輸出結果(當工具執行時顯示的詳細信息)。 |
-x[file] | 從標准輸入提取所有文件,或只提取指定的文件。如果省略了 file,則提取所有文件;否則只提取指定文件。 |
-0 | 只儲存,不進行 ZIP 壓縮。 |
作者:羽傑
鏈接:https://www.jianshu.com/p/86c744e6bf9f
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。