S_a_k_Uの日記みたいなDB

~サクゥーと呼ばないで~

複数のJREのバージョン

なんだかAppletが動きません。
元々ブラウザを実行してるPCには、1.5.0_6が入ってました。
その後、
1.5.0_11
1.5.0_12
と入れて、古いコードの調査で、
1.4.2_16
1.3.1_19
ってな感じで入れたら、Appletが動かんようになったっぽい。


ブラウザは、IE6SP2とFirefox2.0.0.11。
Firefoxで、Javaコンソールを見ると1.3.1_19が動いてた。
IE6で、Javaコンソールを見ると1.5.0_12が動いてた。
Firefoxでは、Javaコンソールに

Exception in thread xxx java.lang.UnsupportedClassVersionError: yyy (Unsupported major.minor version 49.0)

ってメッセージだったので明らかにバージョンが違うのが原因だな。
IEでは、Javaコンソールを見ても、何も表示されない。


んで、ブラウザはどうやってJREのバージョンを決めるのか?
ってことで、Sunのページを参照して、レジストリを調べてみたけど、

キー:HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
BrowserJavaVersion=1.5.0_12
CurrentVersion=1.5

ってことで問題なさげ。
どうやってブラウザは、JREのバージョンを決めてんの???


設定とかオプションとか見たけど、それっぽいのがないので1.3.1_19と1.4.2_16をアンインストールしたらIEは問題なく動き出した。
IEは、レジストリの値でJREを参照してる?
Firefoxは、動かねぇ〜
ということで1.5.0_12もアンインストールして、1.3.1_19から再インストールしてみた。


まず1.3.1_19をインストール。
Firefoxは、OKに。
IEはブラウザから、Javaコンソールが開けないね。
Appletが読み込まれたタイミングで、タスクトレイにPluginのアイコンが出てきてそれで開けるけど。


それから1.4.2_16をインストール。
Firefoxは、AppletJavaコンソールも1.3.1_19のまんまだぞ?
レジストリのBrowserJavaVersionが1.3.1_19のままだったから、1.4.2_16にしてみたけどダメだ。
IEはブラウザから、AppletJavaコンソールも1.4.2_16になってOK。


それから1.5.0_11と1.5.0_12、ついでに1.6.0_3をインストールしたけど、IEは最新バージョンで動作して、Firefoxは1.3.1_19のまま。


さてどうしよ。
ということで、1.3.1_19をアンインストールすると、Firefoxも1.6.0_3で動き始めた。
どういうカラクリなんじゃ???