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に戻すこともできるようになりました。