LoginSignup
482
468

More than 5 years have passed since last update.

MacにJava(JDK)をインストール

Last updated at Posted at 2014-02-17

2012年頃に買ったMacBook Air。
Android Studioをインストールしようと思ったら、Javaがインストールされていない。
そこでJDKをインストールしたわけだが意外に面倒、というか複雑だったのでメモ。
OpenJDKについては調べてもいない。

現状の確認

Javaのバージョン

/Applications/Utilities/Java Preferences.app を探したけど、Mac OSX10.8以降では存在しないらしい。
OSをアップデートした人は残ってるかも。

なので、コンソールからjava -versionで確認。
「インストールしますか?」と聞かれたら、まだインストールしない。

Android StudioなどJava製のアプリを起動してもAppStoreが「インストールしますか?」と聞いてくる。
そこでインストールしたとしても、何回でも聞いてくるのでインストールしない。

何かしらのJavaがインストールされている場合/usr/libexec/java_home -Vでも確認できるはず。
例えばこんな感じ。
このコマンドなかなか出来るヤツ、という印象を受けた。

java_home
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    1.7.0_51, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
    1.6.0_65-b14-462, x86_64:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

パスについて

MacのJavaは下記の場所にインストールされるらしい。

  1. /System/Library/Java/JavaVirtualMachines/
  2. /Library/Java/JavaVirtualMachines/
  3. /Users/$USER/Library/Java/JavaVirtualMachines

(1)にはAppleのJDKがインストールされる。
(2)にはOracleのJDKがインストールされる。
(3)はユーザ別にインストールした場合?

MacとJavaの関係

OracleでMac用のJDK6を探したけど見つからない。いったいどうなってんだ。

Javaバージョン6以前については、Apple社が独自のバージョンのJavaを提供しています。
http://www.java.com/ja/download/faq/java_mac.xml#java6

どうやら6まではAppleが提供してたらしい。
7からはAppleは提供していないので、Oracleからダウンロードできる。逆に。

JDK 7がインストールされているシステムでApple Java 6を復元する場合は、まずJDK 7をアンインストールする必要があります。JDK 7のアンインストール手順を参照してください。
http://www.java.com/ja/download/faq/java_mac.xml#restore

復元てなんですかね。
JDK7からインストールしてしまった場合、アンインストールしたほうがいいのかもしれない。
してないけど。

アンインストール方法は↓
http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html#uninstall

JDK6のインストール

前置きが長すぎる。JDK6からインストール。
Apple提供のものを下記のページからダウンロードしてインストール。
最新のものはAppleのサポートページから"java"で検索したほうがいいと思う。

Java for OS X 2013-005
http://support.apple.com/kb/DL1572?viewlocale=ja_JP

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk にインストールされているはず。

JDK7以降のインストール

こちらはOracleからダウンロードする。
"Accept License Agreement"をチェックしてダウンロード。

こちらも特に何事も無くインストール完了。
/Library/Java/JavaVirtualMachines/ 以下にインストールされているはず。

JAVA_HOME環境変数とjava_homeコマンド

色々調べてみると内部は複雑な模様。
シンボリックリンク切ったり張ったりしてる人もいて嫌になる。

We could keep our current PATH and it will be Apple java bootstrap system, living into /usr/bin/java who make use of JAVA_HOME and launch the proper JVM. Simple but efficient .
http://blog.hgomez.net/blog/2012/07/20/understanding-java-from-command-line-on-osx/

MacのjavaはJAVA_HOME環境変数を設定するだけで切り替えられるっぽい。
java_home -vでバージョンごとのパスを返してくれるので、それと合わせて使えばよさそう。
やはりjava_homeは出来る子だった。

java
$ echo $JAVA_HOME

$ export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
$ 
$ export JAVA_HOME=`/usr/libexec/java_home -v 1.6`
$ echo $JAVA_HOME
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
482
468
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
482
468