あれ~???DOSプロンプトからjavacと打っても「コマンドは存在しない」と出るのみ。パスは絶対に間違いなく通っているハズ。うーーんおかしい。で、インストール先の
D:\Java\jre6\bin
を見ると、どこを探してもjavac.exeなるファイルは存在していない。
この件でググると同じような質問をしている人が大勢いることに気がつく。
回答は決まったように、
「Pathが通っているか?」
「JREじゃなくてSDKをちゃんとインストールしたのか?」
であった。全部OKなのになぁ。
上記は、Javaの勉強をしようと思って本を買ってきて、それについていたCD-ROMからコピーしてきた
jdk-6u10-windows-i586-p.exe
を実行し、Javaの開発環境を構築しようとしての出来事。
C:ドライブに余裕がないのでD:ドライブにインストールしたのがケチのつけはじめか?俺はってっきり、
D:\Java\jre6\bin
下にすべてのコマンドがインストールされていると思っていたが、パソコン内をよーく見てみると、あれれC:ドライブの方にもあるじゃん。インストーラでD:ドライブにインストールを指示したのだから、D:ドライブにJava関連のファイルが存在すると思っていたのが落とし穴だったか。とんでもねー作りだ。
C:\Program Files\Java\jdk1.6.0_10\bin
下にjavac.exeファイルがあるじゃぁないか~。あ~じゃあ一体どっちの方をPathに設定したらいいんじゃ?両方をPathに指定しておけばいいんか?でもまてよ、注意深く両ディレクトリに存在するEXEファイルを見ると両方ともに
java.exe
というファイルが存在していておまけにサイズが違う!
つーこんは両者をPathに設定していた場合、そのPathを書いた順で起動されるコマンドが違うつー困ったことになる。アンインストールしてC:ドライブにインストールしなおすか?でもC:には余裕がない。
ええいままよ、Pathは
C:\Program Files\Java\jdk1.6.0_10\bin
だけにして様子を見てみるか。これでDOSプロンプトからのjavacコマンドもちゃんと起動できた。
やりたいのはJavaの実験プログラミングだし。もしなんか新たにわかったことがあったらまたUPしますね。
その後さらにさらに落とし穴がありました。
上記の件は最初XPでやってうまくいったのですが、Vistaの場合まったく同じようにしてもDOS窓でjavacコマンドが見つからないと出ました。ところが管理者権限でDOS窓を起動してやるとOKでした。普通にDOS窓を起動してもうまく環境変数が展開されないようなのです。
その本ではJAVA_HOMEを環境変数として「C:\Program Files\Java\jdk1.6.0_10」に定義し、
Pathに%JAVA_HOME%\binを追加するとありましたが、
普通に起動したDOS窓だと、Pathには「%JAVA_HOME%\bin」のまま記述され、展開されていないようなのです。管理者権限で起動したDOS窓だと、Pathには「C:\Program Files\Java\jdk1.6.0_10\bin」が追加されており、ちゃんと展開されているのです。もうワケワカらん。
様々なところでトラップが仕掛けられているようです。疲れるなぁ。