【Mac】Javaのインストール

Java

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 tapAdoptOpenJDK/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も基本的なことは抑えておきたいですよね。

オススメの関連商品

Note一覧

コメント

タイトルとURLをコピーしました