Mac に Java JDK を複数バージョンインストールして管理する
もう絶対忘れる気しかしないのでメモ。
homebrew のインストール
万が一インストールしてなければ。
インストール方法は 公式 を参照。
brew-cask のインストール
homebrew で Java をインストールするために、brew-cask をインストールします。
Java だけでなくて、 Chrome なんかもインストールできるらしいです。 Chocolatey みたいなもんですかね?
$ brew install caskroom/cask/brew-cask
homebrew-cask-versions のインストール
さらに、 homebrew で複数バージョン管理できるように homebrew-cask-versions をインストールします。
$ brew tap caskroom/versions
JDK のインストール
ここまでで JDK のインストール準備が整いました。JDK をインストールしていきます。
$ brew cask search java ==> Exact match java ==> Partial matches charles-applejava eclipse-java java7 yourkit-java-profiler charles-beta-applejava java6 javafx-scene-builder $ brew cask install java $ brew cask install java7 $ java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
この時点では Java8 ですね。
jEnv のインストール
さて。じつはこの時点で JAVA_HOME を .bashrc などで切り替えれば複数バージョンの JDK を切り替えつつ利用できるのですが、正直ちょっと面倒です。
なので、 jEnv という Java 環境のマネージツールをインストールします。
$ brew install jenv $ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(jenv init -)"' >> ~/.bash_profile $ source .bash_profile $ /usr/libexec/java_home -V Matching Java Virtual Machines (2): 1.8.0_60, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home 1.7.0_79, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home $ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home oracle64-1.8.0.60 added 1.8.0.60 added 1.8 added $ jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home oracle64-1.7.0.79 added 1.7.0.79 added 1.7 added $ jenv versions * system (set by /usr/local/opt/jenv/version) 1.7 1.7.0.79 1.8 1.8.0.60 oracle64-1.7.0.79 oracle64-1.8.0.60
jEnv を使ってバージョン切り替え
$ jenv global oracle64-1.7.0.79 $ jenv global oracle64-1.7.0.79 $ java -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
簡単に切り替えることが出来ました!