Help us understand the problem. What is going on with this article?

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)
takayamag
おそらくどこにでもいそうなQAエンジニア。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away