Mac OS 上如何取得免安裝的 JDK?

下載JDK的 MacOS 版本常常只有提供 dmg 的安裝版,並未提供可以直接解開的 binary zip,但對於 java 開發者來說,jdk時常要裝好幾個版本,如果只有安裝包真的很麻煩。

找了一會兒的確有方法可以從 dmg 安裝包萃取出來完整的 jdk 目錄,寫下來以後省得再花時間找。

  • mount JDK 的 dmg 安裝包

從Finder中在dmg檔案上按右鍵選 DiskImageMounter 掛載 dmg 檔,預設會掛載在 /Volumes/JDK <大版本> Update <小版本>
以jdk_8u231版本來說,會掛載在 「/Volumes/JDK 8 Update 231」下

也可以從teminal直接下指令掛載
hdiutil mount jdk-8u231-macosx-x64.dmg
一樣會掛載在 「/Volumes/JDK 8 Update 231」下

  • 解開 pkg安裝檔

接著用teminal切換到「/Volumes/JDK 8 Update 231」目錄下,裡面有個 pkg 安裝包,可以下指令解開 pkg檔案
pkgutil --expand <pkg安裝包檔名> <解開pkg的目的地路徑>

接著pkg解開的目錄下,應該有個jdkXXXXXX.pkg的目錄,再切換到這個目錄下(以 jdk8u231 來說是 jdk180231.pkg )
裡面有個檔名為 Payload 的檔案,接著我們要對他進行操作解開

針對 Payload 下指令
cat Payload| gunzip -dc | cpio -i
同目錄下會產生一個 Contents 目錄,Contents 目錄裡則有個 Home 目錄,這個 Home 目錄就是 JDK Binary 的完整目錄

  • 將 Home 目錄更名,然後搬到自己喜歡的目錄下

進入Home目錄瞧瞧,果然是 JDK 的完整目錄,那就把 Home 目錄更名,搬到自己想要放的路徑吧

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料