MacOSX 10.9にてJava SE6をインストールせずJava SE7を使う
MacOSX 10.9.2 (Mavericks)にて、Eclipse 4.3 (Kepler)を起動させようとすると、Java SE6のインストールを求められてしまう。
しかしながら、既にJava SE7 update55をインストール済みなのだ。
$ /usr/libexec/java_home -V Matching Java Virtual Machines (1): 1.7.0_55, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
SE7が使われずにSE6が求められるのは何故だろう?コマンドではSE7が使えるのに、EclipseなどOSXのアプリケーションでは使えないのだ。
$ java -version java version "1.7.0_55" Java(TM) SE Runtime Environment (build 1.7.0_55-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
調べたところ、JDKにて利用可能な旨の設定が記載されていないのが原因と分かった。
This is in part due to Oracle's missing definitions of the JRE7 VM capabilities.
Eclipse Kepler for OS X Mavericks request Java SE 6 - Stack Overflow
上記の情報に従って、下記のファイルに追記した。
<key>JVMCapabilities</key> <array> <string>JNI</string> <string>BundledApp</string> <string>WebStart</string> <string>Applets</string> <string>CommandLine</string> </array>
一旦ログアウトして再度ログインすると、今度はJava SE6のインストールを求められること無く、Java SE7にてEclipseが起動した。