自動アップデートの功罪

Javaは自動インストール(アップデート)のメッセージが頻繁に出る。これがいいことか、悪いことかは一概には言えないが、Java に関してはあまりその「恩恵」は感じない。Windows 8.*では以前のJavaと違って元々使いにくいものになっていたからである。


Javaのパス

最近今気がついたことであるが、Javaのパスが以前とは変わっている。
頻繁にくり返される自動インストール(アップデート)の過程のどこかで書き換えられたものである。

現在のパス設定である。
以前は「先頭のパス(黄色の下線)」にこんなパス設定はなかった。
以前は「末尾のパス(黄色の下線)」だけを手動で明示的に設定していた。


「C:\ProgramData」はHidden属性が設定してあるいわゆる「隠しディレクトリ」である。
その中には重要ファイルが多数入っているようである。


さて、Javaでパス指定されているディレクトリをみると3つのファイルがある。
いずれもいわゆる「シンボリック・リンク」のようである。



javac.exeとjava.exe
これからみると、よく使うことが多いJavaのツール(javac.exeとjava.exe)について、次のようなことがいえる。
  1. Javaのソース(*.java)をコンパイルするときに使っている、javac.exe は C:\Users\Editor\Java\bin 内のものである。

  2. それで作ったJavaのプログラム(*.class)を実行するときに使う java.exe は C:\ProgramData\Oracle\Java\javapath 内のものである。
    そしてこれは実質的には C:\Program Files (x86)\Java\jre1.8.0_31\bin 内の java.exe を指している。
    ちなみに、このディレクトリ内に javac.exe はない。したがって、C:\Users\Editor\Java も残しておく必要があることになる。

  3. 自動アップデートでセキュリティ面だけが突出して強化されているということである。
    クラスファイル(*.class)の実行部分は頻繁にアップデートされているが、プログラム作成部分は放置されている(旧来のものしか使えない)ということになる。

下のような場合、javac(.exe) と java(.exe) は別のディレクトリのものを実行していることになる。



「Java 1.7」と「Java 1.8」

このパソコンで初めてインストールしたのがたぶん「Java 1.7*」である。それは圧縮ファイルをダウンロードして「C:\Users\Editor\Java」に解凍して、諸設定をして使いだしたものである。
その後、数回の自動インストール(アップデート)があって、現在のように2ヶ所に分属するような状態になっている。

自動インストール(アップデート)というのも「善し悪し」である。自分の気に入った機能は残しておいてほしいものだと思うが、勝手に「むこう側」の都合で強制的に書き換えられてしまう
LOG
182.249.240.18 [25/Feb/2015:02:19:56] java セキュリティ 中がない
122.134.20.4 [25/Feb/2015:22:55:04] java セキュリティーレベル 中 無くなった
61.46.250.186 [23/Jan/2015:08:57:38] セキュリティ java 高しかない
210.141.159.131 [13/Jan/2015:11:28:00] セキュリティレベル JAVA 中が出ない
この「中」レベルも、ローカルで Java Applet などを作って遊ぼうかというものには必須のものだったが、今ではそれは存在しないようである。したがって、そういう楽しみもなくなったことになる。

Java 1.7 のセキュリティ

この時は確かに「セキュリティ・レベル」の「中」はあった。


その他

Java 1.8 のセキュリティ

この時には「セキュリティ・レベル」の「中」はなくなっている。
また、「例外サイト・リスト」にローカル・ホスト(http://localhost)は設定できないから、結局はローカルではこのJavaは使い道がないということになる。


その他


「中」レベルを使うには

このパソコンのように、Ver1.7とVer1.8が混在して、両者が別々のディレクトリに存在している場合は、次のようにすれば「中」レベルが使えるようになる。
パス指定から「C:\ProgramData\Oracle\Java\javapath」をはずせばよい。そうすれば、Ver1.7のものが使えるようになる。
なんのことはない、単に古いバージョンのものを使うだけである(笑)。

- 2015/02/27 -