みるくとはちみつの予定調和: MacOSXでの「Java SE 6ランタイムが必要です。」を回避する。

2014-07-16

MacOSXでの「Java SE 6ランタイムが必要です。」を回避する。

今回のエントリーは完全に備忘録です。

最新のMacOSXで提供されているJavaがJava SE 6で、すでに世の中はJava 8なのになんでこんな古いのいれてるんだ?ダウンロードして最新Java入れよう!って調子こいてインストールしていざアプリケーションを起動すると「".app"を開くには、Java SE 6ランタイムが必要です。今すぐインストールしますか?」などとダイアログが出て起動できなくなっていませんか?
そう、今回はそんなダイアログを回避する方法です!

前置きはこんなものでよろしいでしょうか?
Appleが提供している安定したJava SE 6を捨てて、SunORACLEが提供している最新Java使います。ってそういう話。
もちろん、2回もメジャーアップデートした最新のJava SE 8を入れて、問題起きても当方は関知しませんよ。まじで。


大変参考になった。というか、自分はこのサイトに書いてあることをそのままやっただけですが、そんなナイスでクールな情報を記載してくれてるサイトさんを先に紹介せねば。

Basic - MacOSX 10.9にてJava SE6をインストールせずJava SE7を使う


ほら、そのままです。ハイ。うちのサイト読まなくてもリンク先観てくれればいいんです。
読んでみました?ようするに、Javaの設定ファイルに設定内容を書き加えればOkって事です。


準備として、Java SE 6が入っていればアンインストール。
アンインストールも乱暴に言えば、
System/Library/Java/JavaVirtualMachines
のフォルダ「JavaVirtualMachines」をゴミ箱にポイすればおしまい。

つぎに、最新のJavaをインストール。そればORACLEのサイトみてダウンロードしてインストールしてください。

インストールが終わったら、設定ファイルに呪文を書き加えます。

/Library/Java/JavaVirtualMachines/jdk(ここにJavaのバージョンが入る).jdk/Contents/Info.plist
上のファイル(Info.plist)のアクセス権を変更してユーザーが書き換え出来るようにする。
アクセス権の書き換えが終わったら、テキストエディタでInfo.plistを開いて、次の…
<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
</array>
という個所を
<key>JVMCapabilities</key>
<array>
<string>JNI</string>
<string>BundledApp</string>
<string>WebStart</string>
<string>Applets</string>
<string>CommandLine</string>
</array>
と書き換える。コピペでかまわない。
保存したら、アクセス権を元に戻して再起動。ログアウト、ログインでいいらしいが、こういうときは再起動。

これで使いたかったアプリを起動して、JAVA 6 SEをインストールしろや!ってダイアログが出なければOk。
ちなみに、マインクラフトの起動アプリは落ちた。たぶんJava SE 8に対応していないからだと思われる。なので、「Bootstrap.jar」を直叩きすれば起動するよ。
それと、アクセス権の変更の仕方がわからないとかの人はやらん方が無難。素直にJava SE 6を入れるがよろし。
 

0 件のコメント: