Blogger 站內搜尋

顯示具有 manifest 標籤的文章。 顯示所有文章
顯示具有 manifest 標籤的文章。 顯示所有文章

2018年11月18日 星期日

Java SE 入門教學 - 打包JAR

更新時間:11/18/2018

前言

要完成一個 Java 專案,勢必得分好幾個 Class 撰寫。但是當這個 Java 專案完成後,要如何拿給使用者執行呢?總不能讓使用者自己一個一個去試這堆 Class 中到底哪個是擁有程式進入點的 Main Class 吧?Java JDK 提供了將 .class 打包為 .jar 的指令,只要安裝好 JDK 後就可以使用「jar」指令來將 class 檔案打包為以 ZIP 格式壓縮的 JAR 檔案,之後將這 JAR 檔案拿到任何裝有 JRE 的作業系統上,都可以使用「java -jar」指令來執行。


一、JAR(檔案格式)

在軟體領域,JAR 檔案(Java 歸檔,英語:Java ARchive)是一種軟體包檔案格式,通常用於聚合大量的 Java 類別檔案、相關的元資料和資源(文字、圖片等)檔案到一個檔案,以便分發 Java 平台應用軟體或庫。

JAR 文件格式提供了許多好處:

  • 安全性:您可以對 JAR 文件的內容進行數字簽名(digitally sign)。然後,識別您的簽名的用戶可以選擇授予您原本不具備的軟件安全權限。
  • 減少下載時間:如果您的 applet 捆綁在 JAR 文件中,則可以在單個 HTTP 事務中將 applet 的類文件和相關資源下載到瀏覽器,而無需為每個文件打開新連接。
  • 壓縮:JAR 格式允許您壓縮文件以實現高效存儲。
  • 擴展包裝:擴展框架提供了一種向Java核心平台添加功能的方法,JAR文件格式定義了擴展的包裝。通過使用JAR文件格式,您也可以將軟件轉換為擴展名。
  • 套件密封:可以選擇密封存儲在 JAR 文件中的套件,以便套件可以強制實現版本一致性。在 JAR 文件中封裝套件意味著必須在同一個 JAR 文件中找到該套件中定義的所有類。
  • 套件版本控制:JAR 文件可以保存有關其包含的文件的數據,例如供應商和版本信息。
  • 可移植性:處理 JAR 文件的機制是 Java 平台核心 API 的標準部分。

常見的 JAR 文件操作:

操作說明 指令
建立 JAR 檔案 jar cf jar-file input-file(s)
查看 JAR 檔案的內容 jar tf jar-file
提取 JAR 檔案的內容 jar xf jar-file
從 JAR 檔案中提取特定文件 jar xf jar-file archived-file(s)
執行打包為 JAR 檔案的應用程序
(需要 Main-class manifest header)
java -jar app.jar
調用打包為 JAR 檔案的 applet <applet code=AppletClassName.class
    archive="JarFileName.jar"
    width=width height=height>
</applet>