いろんなサイトに方法がかかれているのに毎回やり方を勘違いするという現象が起こるので自分でもまとめます。
環境
- OS : macOS Sierra Version 10.12.4
- 現在使っているJava
$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
- インストールしてあるJava
$ /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -V
Matching Java Virtual Machines (5):
1.8.0_131, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
1.8.0_45, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
1.7.0_67, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home
1.6.0_65-b14-468, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
バージョンを「1.8.0_45」から「1.7.0_67」に切り替えます。
1 .bashrcに追記する。
.bashrcに「JAVA_HOMEの設定」と「PATHにJAVA_HOMEの追加」の2行を追記します。
$ sudo vi .bashrc
Password:{パスワード}
---ここからviエディタ------------------------------------------
<ここにはズゥっと前に書いた設定が書かれています>
export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "1.7"`
PATH=$JAVA_HOME/bin:$PATH
---ここまでviエディタ------------------------------------------
こちらのサイト様に感謝です。
.profile, .bashrc, .zshrcなどなんでもいいですが,環境変数JAVA_HOMEをjava_homeコマンドを使って設定します.
OSXでJavaのバージョンを切り替える - Qiita
2 .bashrcを再読込する。
コレをやらずに「切り替えられない」と毎回勘違いしています。
設定ファイルを書いたら再読込は基本ですよね。
$ source ~/.bashrc
こちらのサイト様に感謝です。
追加したらsource ~/.bash_profileで再読み込みするとバージョンが切り替わります。
MacでHomebrewを使用して複数バージョンのJava (JDK) をインストールして切り替える方法+アップデート - TASK NOTES
3 確認する。
切り替わっていることを確認します。
$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)