MacOSX 10.9.2 (Mavericks)にて、Eclipse 4.3 (Kepler)を起動させようとすると、Java SE6のインストールを求められてしまう。
"Eclipse.app"を開くには、Java SE6ランタイムが必要です。今すぐインストールしますか?
0
iQi - 面白いアプリを開発中
既にJava SE7 update55をインストール済みなのだようです。
SE7が使われずにSE6が求められるのは何故だろう?コマンドではSE7が使えるのに、EclipseなどOSXのアプリケーションでは使えないのだ。
調べたところ、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
上記の情報に従って、下記のファイルに追記した。
Info.plistが存在する場合、上記の内容が入ってない場合、追加する必要あります。
一旦ログアウトして再度ログインすると、今度はJava SE6のインストールを求められること無く、Java SE7にてEclipseが起動した。
$ /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_10.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home
SE7が使われずにSE6が求められるのは何故だろう?コマンドではSE7が使えるのに、EclipseなどOSXのアプリケーションでは使えないのだ。
$ java -version
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, 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
上記の情報に従って、下記のファイルに追記した。
/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Info.plist
<key>JVMCapabilities</key>
<array>
<string>JNI</string>
<string>BundledApp</string>
<string>WebStart</string>
<string>Applets</string>
<string>CommandLine</string>
</array>
Info.plistが存在する場合、上記の内容が入ってない場合、追加する必要あります。
一旦ログアウトして再度ログインすると、今度はJava SE6のインストールを求められること無く、Java SE7にてEclipseが起動した。
0
lujian - Javaが得意です。
Copy the Info.plist located at the path named below to e.g. ~/Downloads/:
/Library/Java/JavaVirtualMachines/jdk.1.8.<…>/Contents/
and then replace
with the following:
/Library/Java/JavaVirtualMachines/jdk.1.8.<…>/Contents/
and then replace
<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
</array>
with the following:
<key>JVMCapabilities</key>
<array>
<string>JNI</string>
<string>BundledApp</string>
<string>CommandLine</string>
</array>