"java -version"と"javac -version"のバージョンが合わない件
x201sでjavaとjavacのバージョンが合わないなー、なんて思ってたけど特に問題ないから放置してたけど、気が向いたので対処してみた。
対処前は以下のような感じ。(JDKの最新版(Java SE 6 update26のx64版)をインストールした直後)
C:\Windows\System32>java -version java version "1.6.0_21" Java(TM) SE Runtime Environment (build 1.6.0_21-b07) Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing) C:\Windows\System32>javac -version javac 1.6.0_26
JDKをインストールする際にJREも同時にインストールされているはずだし、
環境変数にはJAVA_HOME、Pathどちらも正しく設定しているしなんでだろうなーと。
とりあえず入ってるJavaを確認してみると、"C:\Program Files (x86)\Java"に32bitのJavaが入ってる模様。
いれた覚えが無いけど購入時に最初から入ってたのかな?
なんかこの辺が干渉してるっぽいので"プログラムの追加と削除"から古いバージョンのJDKとJREを削除することに。
(なんか一番古いやつだと発行元がSun Microsystemsになってるし!)
*1
古いJRE、JDKの削除後にコマンドプロンプトでバージョンを取ると以下のとおり。バッチリ解決いたしました。
C:\Windows\System32>java -version java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode) C:\Windows\System32>javac -version javac 1.6.0_26
購入当初から入ってるJavaへのパスがWindowsのレジストリに書きこまれていて、環境変数よりも優先されていたとかそんな感じなのかな?
よくわかんないので詳しい人教えてください。
教訓:環境はキレイに保つべし!!!