JAR 檔案格式以流行的 ZIP 檔案格式為基礎。與 ZIP 檔案不同的是,JAR 檔案不僅用於壓縮和發布,而且還用於部署和封裝庫、組件和外掛程式程式,並可被像編譯器和 JVM 這樣的工具直接使用。在 JAR 中包含特殊的檔案,如 manifests 和部署描述符,用來指示工具如何處理特定的 JAR。
相關特點
JAR 檔案格式提供了許多優勢和功能,其中很多是傳統的壓縮格式如 ZIP 或者 RAR 所沒有提供的。它們包括:
安全性 可以對 JAR 檔案內容加上數位化簽名。這樣,能夠識別簽名的工具就可以有選擇地為您授予軟體安全特權,這是其他檔案做不到的,它還可以檢測代碼是否被篡改過。
減少下載時間 如果一個 applet 捆綁到一個 JAR 檔案中,那么瀏覽器就可以在一個 HTTP 事務中下載這個 applet 的類檔案和相關的資源,而不是對每一個檔案打開一個新連線。
一個可執行的jar 檔案是一個自包含的 Java 應用程式,它存儲在特別配置的JAR 檔案中,可以由 JVM 直接執行它而無需事先提取檔案或者設定類路徑。要運行存儲在非可執行的 JAR 中的應用程式,必須將它加入到您的類路徑中,並用名字調用應用程式的主類。但是使用可執行的 JAR 檔案,我們可以不用提取它或者知道主要入口點就可以運行一個應用程式。可執行 JAR 有助於方便發布和執行 Java 應用程式。
創建可執行 JAR
創建一個可執行 JAR 很容易。首先將所有應用程式代碼放到一個目錄中。假設應用程式中的主類是 com.mycompany.myapp.Sample 。您要創建一個包含應用程式代碼的 JAR 檔案並標識出主類。為此,在某個位置(不是在應用程式目錄中)創建一個名為 manifest 的檔案,並在其中加入以下一行:
Main-Class: com.mycompany.myapp.Sample //結尾鍵入回車
然後,像這樣創建 JAR 檔案:
jar cmf manifest ExecutableJar.jar application-dir
所要做的就是這些了 -- 現在可以用 java -jar 執行這個 JAR 檔案 ExecutableJar.jar。