Mac OS X にJavaの開発環境を設定する

昨年の新型の発売に合わせてMacBookを購入したわけですが、初Macという事もありWindowsのアプリを使うことも多かった事から、ほとんどBoot Campで使っていました。年末年始で時間も取れたのでMacに慣れるべく色々とやろうと思ったものの、色々とはまっています。
まずはJavaの開発環境を整えてみようという事で、EclipseとJava6をインストールしてみたので、まとめておきます。Windowsと違って色々と勝手も違いますね。慣れれば当たり前のような話かもしれませんが、同じようにそろそろMacに乗り換えてみようかな、とか思っているJava屋の人の参考になればと思います。

MacJava事情

Windowsで開発する場合と色々と事情が異なるので、まずはそれを整理して理解しておく必要があります。

  • VMの提供はSunではなくAppleが行っている
  • VMには32bit版と64bit版がある(Mac OS Xは64bitのOS)
  • サポートされているJavaのバージョンは1.4、5.0、6(ただし6は64bit版のみ)

SDKのインストール

OS XでバンドルされているバージョンはJava5になります。Java5で開発するのであれば、そのままで特に問題はないのですが、Java DeveloperであればJava6もインストールしておきたい所です。幸いにもAppleからJava6はリリースされている為、インストールすれば使うことができます。
ただし、去年の11月頃にリリースされたUpdate10には対応していません。Java6 Update10では様々な機能拡張やモジュール化が行われていますが、Macでこの恩恵を受けられるのは先の話になりそうです。

Macで最新のJavaを使う場合、AppleのDeveloper Connectionのここからインストールパッケージをダウンロードします。現在の最新版は、Java for Mac OS X 10.5 Update 2です。このインストールパッケージは、ここのJavaのバージョンを配布しているわけでなく、このパッケージをインストールすることで、Java1.4と5.0と6の3つのバージョンがインストールされる仕組みになっています。

Javaのインストール先

Javaのインストール先は以下のディレクトリになります。

  • /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
  • /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/

標準で使用するJavaの切り替え

OS Xでは使用するJavaのバージョンを切り替えるには、Windowsで言うところのコントロールパネルのJavaから指定する形になります。「Application / Utility / Java / Java Preference」で管理パネルを開いてAppletと通常のアプリケーションで使用するVMを指定できます。コンソール等を開き java -versionで確認してみてください。

Eclipseのインストール

次にEclipseをインストールして開発環境を整えようとしたのですが、結構はまりました。結論から言えば、現時点ではJava6でEclipseを実行することができないのです。これは、Eclipseで使用しているSWTというGUIライブラリがネイティブ環境への依存度の強いという事とJava6は64bit版のみがサポートされている事が原因です。したがって、OS XEclipseを実行するには、32bit版のJava5で実行する必要があります。Java6のインストールされている環境でEclipseを実行する手順をまとめます。

ダウンロードとインストール

Eclipsehttp://www.eclipse.org/:eclipse.orgからダウンロードします。ダウンロード後は解凍した上でアプリケーションの下に移動すればOKです。
Java6がインストールされていない環境であれば、後はEclipseのアイコンをクリックすれば実行できるでしょう。

実行時のVMを指定する

Macのアプリケーションは設定ファイルなどが収められたパッケージとなっています。この中身を編集することで起動パラメータなどが指定できるようです。これは、アプリケーションを「パッケージの内容を表示」で開き、Contents / Info.plistを編集することで実現できます。これは、Windowsで言えば、ショートカットの引数を指定するような作業です。
ただし、Info.plistは通常に開くとプロパティエディタで開いてしまいます。VMを指定するにはこれでは不可能な為、通常のテキストエディタで開いてください。中身は、XMLファイルになっている為、これを編集します。

<key>Eclipse</key>
<array>
  <string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java</string>
</array>

このようにarrayタグで囲まれた箇所の先頭に「-vm /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java」というパラメータを記述します。
尚、Europa(3.3系)ではこれらのパラメータはコメントアウトされた形で記述されていますが、最新版のGanymede(3.4)では記述されていない為に手動で追加してください。
現在のGanymede(3.4)では該当箇所はコメントで記述されていますので、同様にコメントを解除すればOKです。【2009.06.19修正】

以上でEclipseの起動設定ができたので1.5(32bit版)を使って起動する事ができます。また、実行時のVMに関してはJava6を使用しても問題ないようです。