MacにJavaのインストール
最近業務でJavaをいじる機会が出てきたので、MacにJavaをインストールしたついでに、記事としてまとめておきました!
実は僕は初めて業務で使用したプログラミング言語はJavaでしたが、久しぶりにやると何か昔の記憶も戻ってきて懐かしくなりますね!
当時は個人で最初にPythonを触っていてのもあって、Javaはめちゃ難しく感じていて記憶があります。
ServerSide Kotlinも割と流行ってきていて、実際にこの前僕も入門してみましたが、Go言語でレシーバ使ってクラスっぽく書いたりするよりは、やっぱ馴染んでいて結構しっくり来る感じも好きです。
それでJavaのバージョンの管理をどうするのか知らなかったので調べたのですが、jenvを使うことにしました。
ただjenv自体は、その他言語の〜envと違って、言語自体のインストール機能を持たないようなので
- JDKのインストールはbrewで行う
- 各バージョンの物をjenvで管理して簡単に切り替えられるようにする
という感じにしたいと思います!
jenvのインストール
まずはjenvのインストール!
jenv自体は、anyenvを使ってインストールすると良いです。
他の言語でも〜envって使いますよね?
なので以下の記事を参考にして、この機会にインストールしちゃいましょう。
jenvインストール
anyenvがインストールできたら、以下のコマンドでjenvをインストールしましょう!
% anyenv install jenv
jenvインストール後の確認
% jenv --version
jenv 0.5.4-2-g9bbc5eb
JDKのインストール
続いてOpenJDKをインストールしていきます。
ここでは複数のバージョンをインストールしてみます。
tapでAdoptOpenJDK/openjdkを追加
まずbrew tapでAdoptOpenJDK/openjdkを追加します!
$ brew tap AdoptOpenJDK/openjdk
brew tapって何!?という方はこの記事に紹介されていました。
インストール可能な一覧を表示
コマンド実行時点で、インストール可能な物は違うと思いますので、一覧で確認してみてください!
% brew search --cask adoptopenjdk
==> Casks
adoptopenjdk adoptopenjdk11-openj9-jre adoptopenjdk13-jre adoptopenjdk14-openj9-large adoptopenjdk16-openj9-jre
adoptopenjdk-jre adoptopenjdk11-openj9-jre-large adoptopenjdk13-openj9 adoptopenjdk15 adoptopenjdk8 ✔
adoptopenjdk-openj9 adoptopenjdk11-openj9-large adoptopenjdk13-openj9-jre adoptopenjdk15-jre adoptopenjdk8-jre
adoptopenjdk-openj9-jre adoptopenjdk12 ✔ adoptopenjdk13-openj9-jre-large adoptopenjdk15-openj9 adoptopenjdk8-openj9
adoptopenjdk-openj9-jre-large adoptopenjdk12-jre adoptopenjdk13-openj9-large adoptopenjdk15-openj9-jre adoptopenjdk8-openj9-jre
adoptopenjdk-openj9-large adoptopenjdk12-openj9 adoptopenjdk14 adoptopenjdk15-openj9-jre-large adoptopenjdk8-openj9-jre-large
adoptopenjdk10 adoptopenjdk12-openj9-jre adoptopenjdk14-jre adoptopenjdk15-openj9-large adoptopenjdk8-openj9-large
adoptopenjdk11 adoptopenjdk12-openj9-jre-large adoptopenjdk14-openj9 adoptopenjdk16 adoptopenjdk9
adoptopenjdk11-jre adoptopenjdk12-openj9-large adoptopenjdk14-openj9-jre adoptopenjdk16-jre
adoptopenjdk11-openj9 adoptopenjdk13 adoptopenjdk14-openj9-jre-large adoptopenjdk16-openj9
AdoptOpenJDK/openjdkについての補足はこの記事にありました。
Javaのインストール
ここで実際にインストールしていきます。
インストール可能な一覧を表示した中から、任意の複数のバージョンをインストールしていきます。
ここでは以下の3つの複数バージョンをインストールしてみたので、参考にしてください!
Ver.8系最新をインストール
$ brew install --cask adoptopenjdk8
Ver.12系最新をインストール
$ brew install --cask adoptopenjdk12
Ver.16系最新をインストール
$ brew install --cask adoptopenjdk16
jenvの設定
インストールした複数バージョンのJavaを簡単に切り替えられるようにしたいので、ここでjenvとの紐付けを行なっていきます!
追加するJavaの確認
jenvに追加するJavaの確認をします。
% ls -l /Library/Java/JavaVirtualMachines
total 0
drwxr-xr-x 3 root wheel 96 5 30 00:44 adoptopenjdk-12.jdk
drwxr-xr-x 3 root wheel 96 4 22 09:06 adoptopenjdk-16.jdk
drwxr-xr-x 3 root wheel 96 4 21 07:57 adoptopenjdk-8.jdk
jenvに追加
以下のコマンドでJavaをjenvに追加します。
Ver.8系
$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
Ver.12系
$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-12.jdk/Contents/Home
Ver.16系
$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
追加後の確認
以下のコマンドで実際に追加されたかを確認できます。
% jenv versions
* system (set by /Users/kou/.anyenv/envs/jenv/version)
1.8
1.8.0.292
12
12.0
12.0.2
16
16.0
16.0.1
openjdk64-1.8.0.292
openjdk64-12.0.2
openjdk64-16.0.1
Javaバージョンの切り替え
バージョンの切り替え方法
各バージョンを切り替えるには、以下のようなコマンドを使用します。
% jenv global ${version}
切り替え後の確認方法
ちゃんと切り替えられたかは、以下のコマンドで確認できます。
% jenv versions
system
*.*
* *.*.*.*** (set by /Users/kou/.anyenv/envs/jenv/version)
openjdk64-1.*.*.***
% java -version
openjdk version "**.*.****"
OpenJDK Runtime Environment (AdoptOpenJDK)(build **.*.****)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build **.*.****, mixed mode)
バージョンの切り替えの例
Ver.8系に切り替える
切り替え
% jenv global 1.8.0.292
切り替え後の確認
% jenv versions
system
1.8
* 1.8.0.292 (set by /Users/kou/.anyenv/envs/jenv/version)
12
12.0
12.0.2
openjdk64-1.8.0.292
openjdk64-12.0.2
% java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.292-b10, mixed mode)
Ver.12系に切り替える
切り替え
% jenv global 12.0.2
切り替え後の確認
% jenv versions
system
1.8
1.8.0.292
12
12.0
* 12.0.2 (set by /Users/kou/.anyenv/envs/jenv/version)
openjdk64-1.8.0.292
openjdk64-12.0.2
% java -version
openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment AdoptOpenJDK (build 12.0.2+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 12.0.2+10, mixed mode)
Ver.16系に切り替える
切り替え
% jenv global 16.0.1
切り替え後の確認
% jenv versions
system
1.8
1.8.0.292
12
12.0
12.0.2
16
16.0
* 16.0.1 (set by /Users/kou/.anyenv/envs/jenv/version)
openjdk64-1.8.0.292
openjdk64-12.0.2
openjdk64-16.0.1
% java -version
openjdk version "16.0.1" 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-16.0.1+9 (build 16.0.1+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-16.0.1+9 (build 16.0.1+9, mixed mode, sharing)
jenvでJAVA_HOMEの設定
最後のJAVA_HOMEを設定しておきます。
JAVA_HOMEのデフォルト値
デフォルトでは、JAVA_HOMEは設定されていません。
$ echo $JAVA_HOME
JAVA_HOMEの有効化
jenvのexportプラグインを有効化します!
これでJAVA_HOMEに自動的に値がセットされます。
% jenv enable-plugin export
You may restart your session to activate jenv export plugin echo export plugin activated
JAVA_HOMEの有効化後の確認
メッセージにも出てましたが、一回ターミナルを抜けてセッションを切ってから再度接続しましょう。
そしてechoすると、JAVA_HOMEが設定されていると思います。
% echo $JAVA_HOME
/Users/kou/.anyenv/envs/jenv/versions/16.0.1
こんな感じで色々みれます。
% /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
16.0.1, x86_64: "AdoptOpenJDK 16" /Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
12.0.2, x86_64: "AdoptOpenJDK 12" /Library/Java/JavaVirtualMachines/adoptopenjdk-12.jdk/Contents/Home
1.8.0_292, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
まとめ
今回は、MacでJavaのインストール方法について紹介しました!
Java自体はもうなんか古臭く感じてしまいますし、実際に今Java環境が残っているところは実際色々な面でレガシーだったりすることはあると思います。
ただJava自体は良い言語ですし、オブジェクト志向本の良書はJavaが多いです。
比較的モダンな環境で扱われる事の多いKotlinやScalaなどJVM言語も、JVMで培った知識は活きてくるので無駄にはなりませんし、Javaも基本的なことは抑えておきたいですよね。
コメント