Edited at

macOSのJDKのインストール・更新方法

More than 1 year has passed since last update.

JDKが更新されるたびに調べている気がするので忘備録

2018/03/16: 内容が古くなっていたので更新しました。

2018/03/21: Java 10がリリースされたのでインストールしてみました。


Java 10のインストール

Note: 当記事でJava 8とJava 9をインストールした状態でインストールしています。

brew cask info javaを実行してみると、Formula(パッケージ)はJava 10に置き換わっていて、ローカルにはJava 9が入っている状態です。


$ brew cask info java
java: 10,46:76eac37278c24557a3c4199677f19b62
https://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html
/usr/local/Caskroom/java/9.0.4,11:c2514751926b4512b076cc82f959763f (383.0MB)
From: https://github.com/caskroom/homebrew-cask/blob/master/Casks/java.rb

brew cask install javaを実行してみるとJava(Java 9)のパッケージはインストール済みと表示されます。


$ brew cask install java
Warning: Cask 'java' is already installed.

To re-install java, run:
brew cask reinstall java

では、brew cask reinstall javaで再インストールしてみます。


$ brew cask reinstall java
==> Caveats
This Cask makes minor modifications to the JRE to prevent issues with
packaged applications, as discussed here:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361

If your Java application still asks for JRE installation, you might need
to reboot or logout/login.

Installing this Cask means you have AGREED to the Oracle Binary Code
License Agreement for Java SE at

https://www.oracle.com/technetwork/java/javase/terms/license/index.html

==> Satisfying dependencies
==> Downloading http://download.oracle.com/otn-pub/java/jdk/10+46/76eac37278c24557a3c4199677f19b62/jdk-10_osx-x64_bin.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask java
==> Uninstalling Cask java
==> Running uninstall process for java; your password may be necessary
==> Removing launchctl service com.oracle.java.Helper-Tool
Password:
==> Removing launchctl service com.oracle.java.Java-Updater
==> Quitting application ID com.oracle.java.Java-Updater
==> Quitting application ID net.java.openjdk.cmd
==> Uninstalling packages:
com.oracle.jdk-9.0.4
com.oracle.jre
==> Removing files:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin
/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents
/Library/PreferencePanes/JavaControlPanel.prefPane
/Library/Java/Home
==> Purging files for version 9.0.4,11:c2514751926b4512b076cc82f959763f of Cask java
==> Installing Cask java
==> Running installer for java; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> installer: Package name is JDK 10
==> installer: Installing at base path /
==> installer: The install was successful.
🍺 java was successfully installed!

Java 10がインストールされました。


$ /usr/libexec/java_home -v 10
/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home

Java 9はアンインストールされました。


$ /usr/libexec/java_home -v 9
Unable to find any JVMs matching version "9".
/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home

Java 8はそのまま。


$ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home


環境


  • OS: macOS High Sierra 10.13.3


前提条件


  • JDKをHomebrewを使用してインストールしたい人向け


Homebrewのインストール

macOS 用パッケージマネージャーHomebrew公式サイト

https://brew.sh/index_ja

以下のコマンドをターミナル上で実行する


/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

以下のコマンドでインストールされたHomebrewのバージョンを確認してみます。


$ brew -v
Homebrew 1.5.10
Homebrew/homebrew-core (git revision efd2; last commit 2018-03-16)


Homebrewの更新とHomebrew-Caskのインストール

まずは、Homebrewとパッケージ情報のformulaを最新の状態にして、Homebrew-Caskのリポジトリをtapコマンドで追加する。


$ brew update
$ brew tap caskroom/cask

# 追加したリポジトリは以下のコマンドで確認出来る
$ brew tap
caskroom/cask
...


JDK 9(Java 9)のインストール・更新

以下のコマンドを実行すると、2018/03/16の時点ではJDK 9(Java 9)がインストールされます。


$ brew cask install java

「Warning: Cask 'java' is already installed.」という警告が表示される場合は、reinstallコマンドを使って再インストール・更新が出来ます。


$ brew cask install java
Warning: Cask 'java' is already installed.

To re-install java, run:
brew cask reinstall java


JDK 1.8(Java 8)のインストール・更新

JDK 1.8(Java8)をインストールしたい場合はtapコマンドでcaskroom/versionsのリポジトリを追加します。


$ brew tap caskroom/versions

$ brew tap
caskroom/cask
caskroom/versions
...

以下のコマンドを実行すると、JDK 1.8(Java 8)がインストールされます。


$ brew cask install java8

「Warning: Cask 'java' is already installed.」という警告が表示される場合は、reinstallコマンドを使って再インストール・更新が出来ます。


$ brew cask install java8
Warning: Cask 'java8' is already installed.

To re-install java8, run:
brew cask reinstall java8

試しに、JDK 8 Update 162へ更新してみます。


$ brew cask reinstall java8
==> Caveats
(中略)

==> Satisfying dependencies
==> Downloading http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/jdk-8u162-macosx-x64.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask java8
==> Uninstalling Cask java8
==> Running uninstall process for java8; your password may be necessary
==> Removing launchctl service com.oracle.java.Helper-Tool
Password:
==> Removing launchctl service com.oracle.java.Java-Updater
==> Quitting application ID com.oracle.java.Java-Updater
==> Quitting application ID net.java.openjdk.cmd
==> Uninstalling packages:
com.oracle.jdk8u162
com.oracle.jre
==> Removing files:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin
/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents
/Library/PreferencePanes/JavaControlPanel.prefPane
/Library/Java/Home
==> Purging files for version 1.8.0_162-b12,0da788060d494f5095bf8624735fa2f1 of Cask java8
==> Installing Cask java8
==> Running installer for java8; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> installer: Package name is JDK 8 Update 162
==> installer: Installing at base path /
==> installer: The install was successful.
🍺 java8 was successfully installed!


JAVA_HOME を設定する

エディタで.bash_profileファイルを開きます。


$ vim ~/.bash_profile

環境変数JAVA_HOMEを以下のように編集します。


# JDK 9(Java 9)を設定したい場合
export JAVA_HOME=$(/usr/libexec/java_home -v 9)

# JAVA_HOMEに設定されるパス
# /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home


# JDK 1.8(Java 8)を設定したい場合
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

# JAVA_HOMEに設定されるパス
# /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home

.bash_profileファイルの変更内容を反映させます。


$ source ~/.bash_profile


JDKのバージョンを確認する

JAVA_HOMEに設定されたパスのJDKのバージョンが返ってきます。


$ java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)