2015年11月1日日曜日

Yosemite以後のMac OSでJavaインストールのダイアログを消すにはJDKを入れる

そのまんまですが、El CapitanでJava6を入れないで、やむなくOracle JREを入れたけれど、いつまでもインストールしろとうるさいので調べたら、こんなFAQがOracleにありました。

After I updated to Mac OS X 10.10 (Yosemite), why am I told to install Java after I already installed the latest Java?

回答は、「full JDKを入れろ」でありました。Java SEですね。見つかりにくいですが、たぶんこのへんからたどるとよいのでは。

たしかに、JREだけだと空のディレクトリがあちこちにあって、なんか変だなと思っておりました。環境変数JAVA_HOMEを設定すればjavaコマンドは動きますが、ダイアログはシステムが出しているわけで、ユーザ側の環境変数は関係ないはずで。

それで、Java SE入れて再起動すると、あたりまえですが特に環境変数JAVA_HOMEを設定しなくてもOracle Java 8が動きました。まあ、しのごの考えないで、さっさと再起動するのがいいような気がします。

一方、検索してみると、El Capitanのrootlessを解除してApple Java 6を入れる手順が説明されていますが、気持ちはわかりますがやめたほうがいいんではないかと思う次第。

AppleのJava 6サポートはEl Capitanが最後なんだそうです。Java 6依存のコードは、Oracle Javaの新しいコード(Java 8とか)で警告なくコンパイルできるよう、リファクタリングしなければいけませんね。いろいろめんどくさいですが。