fu7mu4’s diary

はてなダイアリーから移転しました。

macOS に OpenJDK の Java をインストールする

macOS に OpenJDK の Java をインストールする

adoptopenjdk にいけば OpenJDK のバイナリが無料で手にはいる。

  • OpenJDK 8
  • OpenJDK 11
  • OpenJDK 15

macOS の場合、pkg インストーラーを使用すると、file://Library/Java/JavaVirtualMachines/AdoptOpenJDK-.jdk/ 以下にインストールされるもよう。

java_home コマンドでどんなJava がインストールされているか確認できる(ただしXML形式)

/usr/libexec/java_home -X
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>JVMArch</key>
        <string>x86_64</string>
        <key>JVMBundleID</key>
        <string>net.adoptopenjdk.11.jdk</string>
        <key>JVMEnabled</key>
        <true/>
        <key>JVMHomePath</key>
        <string>/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home</string>
        <key>JVMName</key>
        <string>AdoptOpenJDK 11</string>
        <key>JVMPlatformVersion</key>
        <string>11.0.10+9</string>
        <key>JVMVendor</key>
        <string>AdoptOpenJDK</string>
        <key>JVMVersion</key>
        <string>11.0.10</string>
    </dict>
    <dict>
        <key>JVMArch</key>
        <string>x86_64</string>
        <key>JVMBundleID</key>
        <string>net.java.openjdk.11.0.2.jdk</string>
        <key>JVMEnabled</key>
        <true/>
        <key>JVMHomePath</key>
        <string>/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home</string>
        <key>JVMName</key>
        <string>OpenJDK 11.0.2</string>
        <key>JVMPlatformVersion</key>
        <string>11.0</string>
        <key>JVMVendor</key>
        <string>Oracle Corporation</string>
        <key>JVMVersion</key>
        <string>11.0.2</string>
    </dict>
    <dict>
        <key>JVMArch</key>
        <string>x86_64</string>
        <key>JVMBundleID</key>
        <string>net.adoptopenjdk.8.jdk</string>
        <key>JVMEnabled</key>
        <true/>
        <key>JVMHomePath</key>
        <string>/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home</string>
        <key>JVMName</key>
        <string>AdoptOpenJDK 8</string>
        <key>JVMPlatformVersion</key>
        <string>1.8.0_212-b03</string>
        <key>JVMVendor</key>
        <string>AdoptOpenJDK</string>
        <key>JVMVersion</key>
        <string>1.8.0_212</string>
    </dict>
</array>
</plist>

あとは java_home コマンドで JAVA_HOME 環境変数を設定して切り替えればいいらしい。

export JAVA_HOME=$(/usr/bin/java_hone -v 11)