ソフラボの技術ブログ

仕事で使ったプログラミング、サーバー周りで役に立つこと、Webサービス開発に必要な技術情報、モバイル情報を書いてます。わかりやすく見やすくをモットーにしています。

MacでJavaのインストールとバージョンの切り替えを行う

Javaのインストール

1.OracleサイトよりMac版のJDK単体をダウンロードします

Java SE Development Kit 8 - Downloads

2.ダウンロードしたdmgファイルを実行し、インストールを行います

3.ターミナルを起動し、Javaのバージョンを確認します

$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

Javaの切り替え

Macでは複数バージョンのJavaをインストールできます。

1.ターミナルを起動し、現在インストールされているJavaの一覧を表示します

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    1.8.0_144, x86_64:	"Java SE 8"	/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
    1.7.0_80, x86_64:	"Java SE 7"	/Library/Java/JavaVirtualMachines/jdk1.7.0_80.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

2.現在使用されているJavaのバージョンを確認します。

$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

3.「.bash_profile」に環境変数JAVA_HOME」を追加し、使用するJavaバージョンを指定します。

$ vi ~/.bash_profile

# 以下を追記する、下記の1.7を1.6等に変更するとそのバージョンに変わる
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
export PATH=${JAVA_HOME}:${PATH}

4.「.bash_profile」を再ロードして設定を有効に、Javaバージョンが変わっているか確認します

$ source ~/.bash_profile
$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

元のバージョンに戻すには、「.bash_profile」に追加した環境変数を削除またはコメントアウトし、再ロードすれば戻ります。

Javaのアンインストール

Javaをインストールすると追加でインストールされ、古いJavaが残ったままになるので、その都度削除が必要です。

1.ターミナルを起動し、現在インストールされているJavaの一覧を表示します

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    1.8.0_144, x86_64:	"Java SE 8"	/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
    1.7.0_80, x86_64:	"Java SE 7"	/Library/Java/JavaVirtualMachines/jdk1.7.0_80.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

2.削除コマンドを使って削除したいJavaのパスを指定し、削除します

$ rm -Rf /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk