Java on Mac

新しい Eclipse (4.4) を導入しようとしたら、Apple版の Java (Java 6) では対応してない、最新版の Java 7 ないし(8)を入れろと言われたのだけれど、ハマったのでメモ。

下準備

  • Apple のアプリのインストーラで入れたパッケージは、pkgutil --pkgs で一覧できる。
~ % pkgutil --pkgs | grep Java                    
com.apple.pkg.JavaEssentials
com.apple.pkg.JavaForMacOSX107
com.apple.pkg.JavaMDNS
com.apple.pkg.JavaSecurity
com.apple.pkg.JavaTools
  • また、全てのインストール履歴は /Library/Receipts/InstallHistory.plist に残されている。
~ % less /Library/Receipts/InstallHistory.plist
みると、
  • com.apple.pkg.JavaTools
  • com.apple.pkg.JavaEssentials
はOS Xのインストール時に入れたものらしいので、消さないほうが良いっぽい。
いくつかのサイトをみてみると、
  • com.apple.pkg.JavaForMacOSX107
こいつだけ消せと言ってくる。
ここまでは下準備かな。

Apple版 Java

おそらくではあるが、いくつかのアプリはApple版のJavaを前提にしているっぽく、 ダブルクリックするだけでも「Apple版のJavaをインストールしてください」とか言ってくるので、 Apple版Javaは入れといたほうがいいと思う。
これは、
ここからダウンロードできる。

Oracle版 Java (公式)

ねんのためいうと、Oracle (旧SUN) は Java の開発元です。
今までは、AppleでJavaを使うには、Appleによる改造版Javaを使うしかなかったけど、 現在ではOracleによる公式Javaを使うこととなった(Appleが開発をやめた。)
で、ふつうJavaはhttp://java.com/からダウンロードできるのだけれど、ここが落とし穴。
Javaは、紛らわしいけど3種類あって、
  • Java Runtime Environment (JRE)
    • Java を動かすために必要なやつ。Javaでつくられたソフトウェアを使いたいだけのひとよう。
      http://java.com/ここからダウンロードできる。ふつう「Javaをダウンロードする」といったらこれを指す。
  • Java Standard Edition (Java SE)
  • Java Enterprise Edition (Java EE)
    • Java SE のすごいやつ。
で、Apple版は奇妙で、 http://java.com/ ここからダウンロードしたJavaは、
環境まるごと /Library/Internet\ Plug-Ins にのみインストールされる
実はこれだとコマンドラインでjavaとやったときには呼ばれないし、
Javaでできたアプリケーション(Eclipseとか)を実行しても、このJavaは使われない。
で、どうすればいいかというと、
Java SE をダウンロードする。
Java Platform (JDK) をクリックして、使用許諾をよんだうえで「Accept License Agreement」にチェック、
Mac OS X版をダウンロードする。
これで、晴れて Eclipse がダウンロードできるようになる。