MacでJavaのバージョン切り替え

とりあえず、まずは、Javaの場所やバージョンを確認
ターミナルから
/usr/libexec/java_home -V

Matching Java Virtual Machines (9):
1.8.0_131, x86_64: “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
1.8.0_121, x86_64: “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
1.8.0_112, x86_64: “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
1.8.0_74, x86_64: “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home
1.8.0_72, x86_64: “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_72.jdk/Contents/Home
1.8.0_65, x86_64: “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
1.7.0_40, x86_64: “Java SE 7” /Library/Java/JavaVirtualMachines/jdk1.7.0_40.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

インストールされてるJavaの一覧と、1番下に現在使用しているJava情報が出て来ます。

続いて、Javaのバージョン切り替え。

・環境変数で設定する場合

ターミナルから
JAVA_HOME=’JDKの場所/Contents/Home’
で、とりあえず、そのターミナル内のJAVA_HOMEは上記設定になる。

ログインユーザーの環境変数に常に設定させるなら、
vi ~/.bash_profile
で、ログインユーザーのプロファイルを開き、その中に
JAVA_HOME=’JDKの場所/Contents/Home’
を追記する。
既にJAVA_HOMEの記述がある場合は、
既存の行の先頭に#を追記してコメントアウトし、新規で1行を追加するか、
既存の行を単純に消してしまってもOKです。
基本的には、#でコメントアウトする方法をオススメします。

上記設定は、そのままだと反映されません。
ログアウト/ログインし直すか、
やはりターミナルから
source ~/.bash_profile
で、ログインしたまま環境変数を反映させることができます。

・シンボリックリンクで設定する場合

ターミナルから
sudo ln -nfs /Library/Java/JavaVirtualMachines/設定するバージョンのJDK/Contents/Home /Library/Java/JavaVirtualMachines/java
これで、今使っているJAVAのバージョンが変更されます。
今後、使うアプリや開発環境によって変更したい場合は、シンボリックリンクを変更することで可能。
新規追加
ln -s 実態 リンク
上書き変更
ln -nfs 実態 リンク
【 ln 】 ファイルやディレクトリにリンクを張る

個人的なオススメはやはりシンボリックリンク、lnでの設定。
Mac環境での設定方法を書きましたが、
linux環境でもlnでJavaのバージョンをハンドリングするのが楽だと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です