39
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Javaのインストール(Mac, Homebrew, 複数バージョン管理)

Last updated at Posted at 2020-05-09

はじめに

MacでJavaのインストール方法インストールするバージョンで悩んでる方向けの記事です。

Javaってバージョンが8と11と14の3つありますよね。

「今は8でいいけど将来14にしたくなるかも〜」

って思うと、どのバージョンをインストールすれば良いか悩みますよね。

調べてみると、homebrew-cask-versionsを使うと複数バージョン管理出来ることが分かりました。

私の試した環境

OS: macOS Catalina(バージョン 10.15.4)
ターミナル: iTerm2

Homebrewのインストール

Homebrewが入ってるか調べる

$ brew -v

バージョンが表示されなかったらインストールされています。

インストールされてたらHomebrewをアップデートする

$ brew update

インストールされたなかったら

公式サイトにてインストールするコマンドが記載されています。コピーしてターミナルに貼り付けて実行すればインストールできます。

2020/05/09時点の記載コマンド

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

homebrew-cask-versions のインストール

複数バージョンを管理してくれる機能です。

公式サイトにて記載されているインストールコマンドを実行します。
2020/05/09時点の記載コマンド

$ brew tap homebrew/cask-versions

インストールというよりHomebrewの機能拡張という感じでしょうか。

Java14 のインストール

2020/05/09時点の最新版はJava14なのでバージョンしていせずに
インストールするとJava14がインストールされます。

$ brew cask install java

Java11 のインストール

$ brew cask install java11

Java8 のインストール

$ brew cask install java8
Error: Cask 'java8' is unavailable: No Cask with this name exists.

ー>Errorが発生します。ライセンスの関係でエラーになるようです。

代替として用意されている「adoptopenjdk8」をインストールします。

$ brew cask install homebrew/cask-versions/adoptopenjdk8

インストール済みのJavaを確認する

$ /usr/libexec/java_home -V

Matching Java Virtual Machines (3):
    14.0.1, x86_64:	"OpenJDK 14.0.1"	/Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk/Contents/Home
    11.0.2, x86_64:	"OpenJDK 11.0.2"	/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home
    1.8.0_252, x86_64:	"AdoptOpenJDK 8"	/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk/Contents/Home

※私の環境では11と8が2つも入ってますね。。。

Javaのバージョンを切り替える

利用しているシェルの起動時に読み込まれる設定ファイルを更新します。

デフォルトではbashというシェルが使われており、
設定ファイルは「~/.bashrc」というファイルになっていると思います。

環境変数「JAVA_HOME」と「PATH」の2つに追加します。

使用したいバージョンに併せて下記の3つのいずれかを書き込んでください。

Java14

export JAVA_HOME=`/usr/libexec/java_home -v "14"`
PATH=${JAVA_HOME}/bin:${PATH}

Java11

export JAVA_HOME=`/usr/libexec/java_home -v "11"`
PATH=${JAVA_HOME}/bin:${PATH}

Java8

export JAVA_HOME=`/usr/libexec/java_home -v "1.8"`
PATH=${JAVA_HOME}/bin:${PATH}

書き込みが終わったら新しくターミナルアプリを立ち上げて
Javaのバージョンを確認してください。

$ java --version

おまけ(Visual Studio Codeの設定)

/usr/libexec/java_home -V

を使って各バージョンのJavaのパスをチェックし、

Visual Studio Codeの設定[⌘ + ,]にて、
「javahome」で検索すると設定ファイルがOpenされると思います。

「java.home」に現在のJavaバージョンのパスを指定します。

例:
"java.home": "/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home"

最後に

以上が私が調べた「MacでHomebrewを使ってJavaの複数バージョンを切り替える方法」となります。

おかしな点やもっと良い方法などありましたら教えていただければ嬉しいです。

インストールが終わったらプログラムを書いたり、デバッグ実行したりしたいと思います。

Javaでの開発環境(プログラムを書いたり、デバッグ実行する)を構築する記事も書いてますので、よかったら是非ご参照ください。

おわり。

39
30
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
39
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?