1. ホーム
  2. java

[解決済み] OS X Mavericks用Eclipse KeplerのJava SE 6へのリクエスト

2023-04-27 09:55:35

質問

をクリーンインストールしたところ OS X Mavericks をダウンロードしました。 Eclipse Kepler をダウンロードしましたが、実行するとこのようなメッセージが表示されます。

インストールを要求される Runtime Java SE 6 私はすでに Java 7 をインストール済みで Install を押して、ダウンロードとインストールを行い、Eclipse を再度開くと、ダイアログが再び表示されます。

どうすれば直るのでしょうか?

どのように解決するのですか?

これは、JRE8 の VM 機能に関する Oracle の定義が欠落していることが原因の 1 つです。

JRE6 をまったくインストールせず、JRE8 を JRE6 にシンボリックリンクせずに単に使用したい場合は、次のようにすることができます。

以下のパスにある Info.plist を ~/Downloads/ などにコピーします。

/Library/Java/JavaVirtualMachines/jdk.1.8.<…>/Contents/

というように置き換えて

<key>JVMCapabilities</key>
 <array>
  <string>CommandLine</string>
 </array>

を以下のように変更します。

<key>JVMCapabilities</key>
 <array>
  <string>JNI</string>
  <string>BundledApp</string>
  <string>CommandLine</string>
 </array>

その後、ファイルを元の場所にコピーしてください(管理者権限が必要です)。この変更を有効にするには、アカウントからログアウト(および再ログイン)するか、コンピューターを再起動する必要があります。Java 6用のダイアログは表示されなくなり、EclipseはJRE8(またはJRE7)を使用して問題なく起動するはずです。これは、Adobe の Creative Suite など、最初に Java を要求する他のアプリケーションについても同じことが言えます。

関連するメモとして、この plist の変更は、システム環境設定の Java Preference パネルを通して行われた更新の後でも維持されるようです。

それでも動作しない場合。いくつかのフォルダーとシンボリック リンク ( 詳細 ):

sudo mkdir -p /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/bundle/Libraries
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/jre/lib/server/libjvm.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/bundle/Libraries/
sudo mkdir -p /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
sudo mkdir -p /System/Library/Java/Support/Deploy.bundle