覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。twitter: @yyoshikaw

HomeBrew で AdoptOpenJDK 11をインストールしてみる

macOSにJava 11をインストールしたかったので、HomeBrewでインストールしてみました。

ちなみにインストールしたのは、AdoptOpenJDK です。


Java 11 (AdoptOpenJDK)のインストール

以下実行して AdoptOpenJDKをインストールします

$ brew cask install adoptopenjdk


実行時のログは以下の様な感じでした

Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (ethereum/ethereum and homebrew/core).
==> Updated Formulae
abyss            easyengine       fx               libbtbb          pig              stone-soup       tomcat-native
azure-cli        exploitdb        grails           mercurial        ppsspp           syncthing        twoping
binaryen         fswatch          jena             percona-server   rke              taskell          up
conan            fwup             kustomize        picard-tools     smimesign        tile38           v8

==> Caveats
More versions are available in the AdoptOpenJDK tap:
  https://github.com/AdoptOpenJDK/homebrew-openjdk

  brew tap adoptopenjdk/openjdk

==> Satisfying dependencies
==> Downloading https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_
==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/140419044/a425c980-e495-11e8-82fa-4
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'adoptopenjdk'.
==> Installing Cask adoptopenjdk
==> Creating Caskroom at /usr/local/Caskroom
==> We'll set permissions properly so we won't need sudo in the future.
Password:
🍺  adoptopenjdk was successfully installed!


/usr/libexec/java_home -V を実行してJava 11が追加されたことを確認します

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    11.0.1, x86_64: "AdoptOpenJDK 11.0.1"    /Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.1.jdk/Contents/Home
    1.8.0_181, x86_64:  "Java SE 8"  /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.1.jdk/Contents/Home

Java 11が追加されてました。


java -version も実行してみました。

$ java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.1+13)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.1+13, mixed mode)

Java 11 が利用されるようになってました。


Java 8に戻したい

Java 11インストールしといて何ですが、Java 8に戻したくもなったりするでしょう。

方法はいくつかあるとは思いますが、ここでは、jenv 使って管理します。


とりあえず、以下実行して jenv をインストール

$ brew install jenv


以下を実行してShellの起動スクリプトに追記

$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile 
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile


以下を実行してJava 8 と Java 11 をjenvで管理できるようにします

jenv add $(/usr/libexec/java_home -v 1.8)
jenv add $(/usr/libexec/java_home -v 11)


実際に実行すると以下のようになります

$ jenv add $(/usr/libexec/java_home -v 1.8)
oracle64-1.8.0.181 added
1.8.0.181 added
1.8 added
$ jenv add $(/usr/libexec/java_home -v 11)
openjdk64-11.0.1 added
11.0.1 added
11.0 added


jenv versions で管理されているJavaの一覧を確認

$ jenv versions
* system (set by /Users/yuki/.jenv/version)
  1.8
  1.8.0.181
  11.0
  11.0.1
  openjdk64-11.0.1
  oracle64-1.8.0.181


jenv global 1.8 を実行して、Java 8 を指定のバージョンにしてみます

$ jenv global 1.8


jenv versions 実行で 1.8 が選択されていることがわかります。

$ jenv versions
  system
* 1.8 (set by /Users/yuki/.jenv/version)
  1.8.0.181
  11.0
  11.0.1
  openjdk64-11.0.1
  oracle64-1.8.0.181


java -version の結果も Java 8 のバージョンを返すようになりました。

$ java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)


まとめ

めでたく、Java 11 (AdoptOpenJDK)がインストールできましたし、Java 8に戻すこともできるようになりました。


関連エントリ