MacにOpenJDKをインストールする方法です。
最初に 〜注意事項〜
OracleJDKからOpenJDKへ変わることによる影響は不明です。
(私は今のところ特に問題無く使えてます)
もし何か影響が出た場合は、.bash_profileのJAVA_HOME行を消す、もしくはバージョンを元に戻してください。
尚、問題が出ても責任を負えませんので、自己責任で行ってください。
現在のバージョンを確認
ターミナルアプリで、現在インストールされているJavaのバージョンを確認します。
$ java -version
java version “1.8.0_131”
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
OpenJDKをダウンロード
以下のサイトからOpenJDKをダウンロードします。
バージョンは最新のもの、ファイルは「Mac 64bit tar.gz」をクリックしてダウンロードします。
現時点15.0.1が最新のようなので、これをダウンロードします。
以降、必要に応じてバージョンを読み替えてください。
今回ダウンロードしたファイル名は「openjdk-15.0.1_osx-x64_bin.tar.gz」でした。
OpenJDKをインストール
ダウンロードしたOpenJDKファイルをMacへインストールします。
ここでは、ダウンロードしたファイルは、デスクトップに保存したと仮定します。
ターミナルアプリ上で、ファイルを解凍し既定のディレクトリへコピーします。
$ su
# cd /Library/Java/JavaVirtualMachines
# cp -p ~/Desktop/openjdk-15.0.1_osx-x64_bin.tar.gz .
# tar xvfz openjdk-15.0.1_osx-x64_bin.tar.gz
# chown -R root:wheel jdk-15.0.1.jdk
# exit
$
最初にsuコマンドで管理者権限にすることを忘れないでください。
また解凍後はchownで所有者をrootに変更しておきます。(もしかしたら不要かもしれませんが念のため)
ここでのポイントは、デスクトップで解凍してからコピーでなく、コピーしてから解凍です。
解凍してからコピーすると、ファイルが壊れていると言われ、うまく動きません。
ディレクトリ/Library/Java/JavaVirtualMachinesは、Macに1回でもJavaをインストールしていれば自動的に作成されます。このディレクトリにJava実行ファイル等が格納されます。
次に、MacがJavaを認識しているか確認します。
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
15.0.1, x86_64: “OpenJDK 15.0.1” /Library/Java/JavaVirtualMachines/jdk-15.0.1.jdk/Contents/Home
1.8.0_131, x86_64: “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
1.8.0_112, x86_64: “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
OpenJDK 15.0.1、つまり青文字が表示されていればOKです。
最後に、.bash_profileファイルへJAVA_HOMEを追加します。
ターミナルアプリを使用し、viコマンド等で編集してください。
もしファイルが無ければ新規作成してください。
export JAVA_HOME=`/usr/libexec/java_home -v 15.0.1`
編集後、java -versionでバージョンを確認し、15.0.1になってればOKです。
$ java -version
openjdk version “15.0.1” 2020-10-20
OpenJDK Runtime Environment (build 15.0.1+9-18)
OpenJDK 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing)
尚、Macのセキュリティ画面が出た場合は、[システム環境設定]-[セキュリティとプライバシー]画面の一般タブにて許可するようにしてください。
最後に
以下のURLを参考にさせていただきました。お礼申し上げます。
コメント