jpackage安裝Java原生本機應用的新工具
長期以來,Java開發人員一直希望構建可以直接安裝在本機平臺上的應用程式,而不是分發jar和配置類路徑。使用jpackage,可以按照特定平臺的使用者使用的方式安裝/解除安裝Java應用程式,它支援Windows上的msi和exe格式,MacOS 上的pkg和dmg以及Linux上的deb和rpm。安裝使用jpackage構建的應用程式時,終端使用者不應注意到任何差異。
jpackage的輸出是一個Java應用程式映像,包含所有必需的Java依賴項。映像儲存在檔案系統的單個目錄中,可以包含以下內容:
- 本機應用程式啟動器
- Java執行時映像,包括模組化應用程式時的應用程式模組
- 應用程式資源,例如jar,ico,png
- 配置檔案,例如plist,cfg,properties
jpackage工具計劃在新的jdk.jpackage模組中成為JDK 13的一部分。
jpackage工具有兩種模式:
- create-image - 生成特定於平臺的應用程式映象
- create-installer - 為應用程式生成特定於平臺的安裝程式
要生成模組化應用程式映象:
jpackage create-image --output outputdir --name AppName \ --main-class package.ClassName -module moduleName -p modulePath jpackage create-image --o outputdir -n AppName \ -c package.ClassName -m moduleName -p modulePath |
要生成非模組化應用程式映像:
jpackage create-image --input inputdir --output outputdir \ --name AppName --main-class package.ClassName --main-jar MyJar.jar jpackage create-image -i inputdir -o outputdir -n AppName \ -c package.ClassName -j MyJar.jar |
要生成應用程式安裝程式:
jpackage create-installer -i inputdir -o outputdir \ -n -c package.ClassName -j MyJar.jar jpackage create-installer -o outputdir -n \ --app-image |
要生成Java執行時安裝程式:
jpackage create-installer --runtime-installer\ --name --output outputdir jpackage create-installer --runtime-installer \ -n -o outputdir --runtime-image |
一些適用於所有平臺的選項:
- --main-jar -j <main jar file> - 應用程式的主要JAR; 包含主類
- --main-class -c <class name> - 要執行的應用程式主類的限定名稱
- --installer-type <type> - 在create-image模式下建立的安裝程式的型別(msi,exe,rpm,deb,dmg,pkg,pkg-app-store)
- --runtime-installer - 為Java執行時生成特定於平臺的安裝程式。
- --jvm-args <java vm arguments> - 傳遞給虛擬機器的Java引數
- --install-dir <檔案路徑> - 應用程式安裝目錄的絕對路徑
某些選項僅適用於Mac OS X平臺:
- --mac-sign - 請求對包進行簽名
- --mac-bundle-name <name string> - 選單欄中顯示的應用程式的名稱
- --mac-app-store-category <category string> - Mac App Store類別
- --mac-signing-keychain <檔案路徑> - 要使用的鑰匙串的路徑
關於jpackage的其他有趣的事情包括:
- 支援打包Java應用程式,使其適合提交到Windows或MacOS應用程式商店
- 設定檔案關聯時的本機整合,以便在開啟具有關聯字尾的檔案時啟動應用程式
- 本機整合,可以啟動特定於平臺的選單組,例如Windows上的“開始”選單項
- 不支援交叉編譯; 應該透過在Windows上執行jpackage來建立Windows程式包
- 將不支援超出JMOD檔案中已提供的法律檔案,例如單個許可證檔案
- 不支援原生啟動畫面
- 不支援自動更新機制
- 該工具在Solaris平臺上不可用
- 不支援Java Web Start應用程式和JavaFX特定功能
- 該工具沒有GUI; 僅提供命令列介面(CLI)
相關文章
- iOS10為何能解除安裝原生應用 iOS10解除安裝原生應用原理介紹iOS
- 安裝用於 Windows 應用開發的工具Windows
- 潛藏在手機中的新威脅:免安裝應用安全指北
- tcpdump的本機安裝和使用TCP
- 用winspool取得本機安裝的印表機的詳細資訊 (轉)
- 機頂盒安裝APK應用的方法APK
- 韓國政府新規定:智慧機預裝應用必須可解除安裝
- Java實現獲取本機Ip的工具類Java
- Jpackage-製作無需預裝Java環境的Jar可執行程式PackageJavaJAR行程
- 360對安卓下狠手:原生應用也在解除安裝之列安卓
- 人臉檢測工具face_recognition的安裝與應用
- 使用Cordova將您的前端JavaScript應用打包成手機原生應用前端JavaScript
- Mac裝機必備的十款應用 - 實用工具篇Mac
- [雲原生]Docker - 安裝&解除安裝Docker
- iOS 10並不能真正解除安裝原生應用 只是停用罷了iOS
- DoYourData AppUninser Mac版 Mac應用解除安裝工具APPMac
- java 應用程式 安裝程式製作(要帶jvm)JavaJVM
- windows10如何安裝應用商店_windows10安裝應用商店的方法Windows
- Android靜默安裝應用和靜默解除安裝應用Android
- ubuntu 17.10 安裝後的應用軟體安裝Ubuntu
- 手把手教你在本機安裝sparkSpark
- Flowable UI應用安裝UI
- 使用Docker安裝應用Docker
- 使用雲原生應用和開源技術的創新攻略
- App Cleaner & Uninstaller for Mac(應用程式清理解除安裝工具)APPMac
- App Cleaner & Uninstaller for Mac應用程式清理解除安裝工具APPMac
- App Cleaner & Uninstaller for Mac 應用程式清理解除安裝工具APPMac
- Mac應用程式清理解除安裝工具:App Cleaner & UninstallerMacAPP
- App Cleaner & Uninstaller Pro 應用程式解除安裝清理工具APP
- solaris 10 應用軟體的安裝/解除安裝方法(轉)
- 本機安裝Oracle環境變數DISPLAY的設定Oracle變數
- 7.2版本中安裝的外掛都是本外掛未被啟用???
- Docker的安裝與容器應用部署Docker
- 應用虛擬機器VMware安裝archlabs系統虛擬機
- vivo手機安裝應用自動輸入密碼密碼
- 華為榮耀所有系列手機,如何安裝谷歌應用框架?谷歌框架
- IDM主機上安裝融合應用程式配置框架框架
- Java開發小白入門前的工具安裝Java