Java 中的 JEP 包工具
JEP 或 Java 增強提案,是增強 Java 平臺的想法。JEP 包工具就是這樣一項改進,它使程式設計師能夠將 Java 程式打包為本機可執行檔案。
透過開發人員實施 JEP 包工具,可以從 Java 程式建立本機可執行檔案。這樣做可以使這些可執行檔案獨立於 Java 虛擬機器 (JVM) 或其他相關軟體元件。這項強大工具的出現始於 Java 14,當時它作為一項實驗性功能引入。
使用 JEP 包工具的語法
JEP 包工具的語法易於閱讀和理解。要使用 JEP 包工具,必須在您的計算機上安裝 JDK 14。由於該工具透過命令列工作,因此需要開啟終端視窗或命令提示符才能使用它。以下是 JEP 包工具的語法:
jpackage [options]
“[選項]”欄位提供了您可以用來修改 JEP 包工具行為的各種引數。可選和強制選項可以分為兩組。
選項如下:
--name <name> − 包的名稱。
--input <directory> − 包含應用程式檔案的輸入目錄。
--main-jar <jar-file> − 主 JAR 檔案的名稱。
--main-class <class-name> − 主類的名稱。
--type <type> − 包的型別(例如,exe、msi、deb、rpm)。
--output <file> − 輸出檔案的名稱。
--vendor <name> − 供應商的名稱。
--copyright <copyright> − 版權宣告。
--description <description> − 描述。
--resource-dir <directory> − 包含資源的目錄。
如何使用 JEP 包工具
請按照以下步驟使用 JEP 包工具:
步驟 1 − 安裝 Java 14 或更高版本
使用 JEP 包工具的唯一要求是在裝置上安裝 Java 14 或更高版本。因此,如果您的裝置尚未安裝此版本的 Java 軟體,則必須安裝它才能訪問該工具。
步驟 2 − 建立 Java 應用程式
為了將 Java 應用程式打包為本機可執行檔案,請建立它。可以使用非模組化應用程式或模組化應用程式。
步驟 3 − 編譯應用程式
使用 Java 編譯器編譯程式
步驟 4 − 建立包
程式構建完成後,可以使用 JEP 包工具生成本機可執行檔案包。為此,您必須提供模組的名稱和輸出檔案的位置。
以下是用於生成本機可執行檔案包的 JEP 包工具的示例命令:
jpackage --name MyApplication --input target/modules --main-jar MyApp.jar --main-class com.example.MyApp --type exe --output MyApplication.exe
關於此特定示例,正在使用的軟體名為“MyApplication”,並透過一個名為“MyApp.jar”的中央 JAR 檔案執行。資料輸入的訪問許可權可以在標記為“target/modules”的指定目錄中找到。此外,對該程式操作不可或缺的主類名為“com.example.MyApp”。利用此類過程生成的最終產品將把相關資訊存放在一個名為“MyApplication.exe”的輸出檔案中,該檔案設計在一個指定為可執行檔案(“exe”)格式的包結構的範圍內。
在 Servlet 中使用屬性的不同方法
根據應用程式的特定需求,有幾種方法可以使用 JEP 包工具。
方法 1:僅打包一個 JAR 檔案
如果您的程式僅由一個 JAR 檔案組成,那麼 JEP 包工具可以讓您生成一個自包含的可執行檔案。值得注意的是,此可執行檔案無需在任何計算機上安裝單獨的 JRE 即可執行。例如:
jpackage --input /path/to/myapp.jar --main-jar myapp.jar
使用此命令可以生成一個獨立的可執行檔案。它將生成一個名為 myapp 的檔案,可以輕鬆地在任何計算機上執行。
方法 2:打包包含多個檔案的目錄
處理多個分散式資源和配置檔案或不同庫的開發人員應該使用 JEP 包工具,它提供了一種有效的解決方案。有了此工具,可以生成一個包含所有必需內容的完整可執行檔案包。
jpackage --input /path/to/myapp --main-jar myapp.jar
該命令將建立一個名為 myapp 的自包含可執行檔案,其中包含 /path/to/myapp 目錄中的所有檔案。
方法 3:為多個平臺生成可執行檔案
要建立特定於平臺的可執行檔案,例如 Windows 的 EXE 檔案或 macOS 的 DMG 檔案,可以使用 JEP 包工具的 --type 選項。以下是一些命令示例:
jpackage --input /path/to/myapp --main-jar myapp.jar --type exe
此特定命令能夠生成 Myapp.exe - 一個完全自包含且高度適應性強的可執行檔案,專門為在 Windows 環境中使用而建立。
jpackage --input /path/to/myapp --main-jar myapp.jar --type dmg
此命令將生成 Myapp.dmg,這是一個可以在 macOS 上執行的自包含可執行檔案。
JEP 包工具的高階功能
此外,JEP 包工具還提供許多高階功能,可用於進一步定製包。以下是一些示例:
建立自定義啟動畫面
要為您的程式提供唯一的啟動畫面,請使用 --splash 選項。命令示例如下:
jpackage --input /path/to/myapp --main-jar myapp.jar --splash splash.png
此命令將生成一個包含名為 splash.png 的唯一啟動畫面的自包含可執行檔案。
簽名包
要使用證書對包進行簽名,請使用 --sign 選項。命令示例如下:
jpackage --input /path/to/myapp --main-jar myapp.jar --sign mycert
此程式將生成一個已簽名且具有名為 mycert 的證書的自包含可執行檔案,名為 myapp。
合併 JVM 選擇
啟動程式時,您可以透過使用 --java-options 選項來包含 JVM 引數。命令示例如下:
jpackage --input /path/to/myapp --main-jar myapp.jar --java-options "-Xmx512m -Dmyprop=value"
此命令將包含 JVM 選項 -Xmx512m 和 -Dmyprop=value,這些選項將包含在生成的獨立可執行檔案中。
結論
JEP 包工具是一個強大的工具,使開發人員可以輕鬆地將其 Java 程式打包成獨立的可執行檔案。由於其簡單的語法和高階功能,JEP 包工具可用於生成特定於特定平臺的可執行檔案,使用唯一的啟動畫面和簽名自定義包,以及將 JVM 引數新增到應用程式的執行時。開發人員可以透過利用 JEP 包工具,使 Java 應用程式更易於使用和訪問,而無需安裝單獨的 JRE。