JAR(Java Archive,Java 歸檔文件)是與平臺無關的文件格式,它允許將許多文件組合成壹個壓縮文件。為 J2EE 應用程序創建的 JAR 文件是 EAR 文件(企業 JAR 文件)。
JAR 文件格式以流行的 ZIP 文件格式為基礎。與 ZIP 文件不同的是,JAR 文件不僅用於壓縮和發布,而且還用於部署和封裝庫、組件和插件程序,並可被像編譯器和 JVM 這樣的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用來指示工具如何處理特定的 JAR。
壹個 JAR 文件可以用於:
□ 用於發布和使用類庫
□ 作為應用程序和擴展的構建單元
□ 作為組件、applet 或者插件程序的部署單位
□ 用於打包與組件相關聯的輔助資源
JAR 文件格式提供了許多優勢和功能,其中很多是傳統的壓縮格式如 ZIP 或者 TAR 所沒有提供的。它們包括:
·安全性。 可以對 JAR 文件內容加上數字化簽名。這樣,能夠識別簽名的工具就可以有選擇地為您授予軟件安全特權,這是其他文件做不到的,它還可以檢測代碼是否被篡改過。
·減少下載時間。 如果壹個 applet 捆綁到壹個 JAR 文件中,那麽瀏覽器就可以在壹個 HTTP 事務中下載這個 applet 的類文件和相關的資源,而不是對每壹個文件打開壹個新連接。
·壓縮。JAR 格式允許您壓縮文件以提高存儲效率。
·傳輸平臺擴展。 Java 擴展框架(Java Extensions Framework)提供了向 Java 核心平臺添加功能的方法,這些擴展是用 JAR 文件打包的(Java 3D 和 JavaMail 就是由 Sun 開發的擴展例子)。
·包密封。 存儲在 JAR 文件中的包可以選擇進行密封,以增強版本壹致性和安全性。密封壹個包意味著包中的所有類都必須在同壹 JAR 文件中找到。
·包版本控制。 壹個 JAR 文件可以包含有關它所包含的文件的數據,如廠商和版本信息。
·可移植性。 處理 JAR 文件的機制是 Java 平臺核心 API 的標準部分。
JAD
Java 應用程序描述符 (JAD)
JAD 文件包含 MIDlet 套件的標題信息,例如開發應用程序的公司、應用程序名稱和大小。在將應用程序下載到設備上時,將先下載和讀取描述符,然後再下載和讀取包含 MIDP 應用程序的 JAR 文件。在裝入 MIDlet 套件的完整 JAR 文件之前,移動設備上的應用程序管理軟件可使用 JAD 文件驗證 MIDlet 是否適用於該設備。JAD 還向 MIDlet 提供特定於配置的屬性(參數),而無需修改 JAR 文件。這樣設備便可以確認是否具有足夠的空間用於存放應用程序,以及是否應下載完整的應用程序。
Java 文件的擴展名為 .jad。
JAD 文件為純文本格式,可用記事本打開。壹個 JAD 文件至少需要包含包含如下屬性:
MIDlet-Name。向用戶標識 MIDlet 的 MIDlet 套件名稱。
MIDlet-Version。MIDlet 套件的版本號。應用程序管理軟件使用該版本號執行安裝操作和升級,以及與用戶進行通信。
MIDlet-Vendor。 提供 MIDlet 套件的組織。
根據項目配置所支持的 MIDP 版本,還可以使用其他屬性:
MIDlet-JAR-URL。此 MIDlet 套件的 JAR 文件的位置和名稱。
MIDlet-JAR-Size。通過此 MIDlet 套件生成的 JAR 文件的大小。每次生成 JAR 文件後,都會更新此只讀屬性。
MicroEdition-Profile。所需的 Java ME 配置文件,它使用與系統屬性 microedition.profiles 相同的格式和值(例如 MIDP-1.0)。
MicroEdition-Configuration。 所需的 Java ME 配置,它使用與系統屬性 microedition.configuration 相同的格式和值(例如 CLDC-1.0)。
MIDlet-Description。MIDlet 套件的描述。
MIDlet-Icon。JAR 文件內的 PNG 文件名,用於表示 MIDlet 套件。應用程序管理軟件顯示了標識此套件的圖標。
MIDlet-Info-URL。壹個 URL,提供進壹步描述 MIDlet 套件的信息。
MIDlet-Data-Size。MIDlet 所需的持久性數據的最少字節數。設備可以根據其自身的策略提供額外的存儲。