使用 JavaFX 打包工具生成 .dmg 安裝包時,報錯「缺少輸入資源」或簽名/資源複製失敗。
早期 JDK(如 JDK 8u20 之前)內建的打包工具 javapackager 在 macOS 上對資源處理、簽名機制有缺陷,或與系統 hdiutil 版本衝突。
jpackage 工具。jpackage 替代舊工具,命令範例:
jpackage --type dmg --input target/app --main-class com.example.Main --name MyApp --icon icon.icns
--resource-dir 指向的目錄確實包含 .icns 圖標、Info.plist 等必要檔案。jpackage 中加入 --mac-sign --mac-signing-key "Developer ID Application: ..."。JAVA_HOME 指向新版 JDK,避免系統預設舊版干擾。