質問: windowsがpathの環境変数を処理できないのはなぜですか? 私の同僚と私は、windows xp professional x64エディションがインストールされている同一のdellワークステーションを持っています。私のパス環境変数は次で始まります:%java_home%\bin;... 私の同僚のパス変数には、同じ環境変数を使用して指定された同じディレクトリが含まれていますが、それは彼のパスの最初の項目ではありません。システムプロパティ->環境変数にアクセスし、java_home変数の値を変更すると、javaのバージョンが期待どおりに変更されます。これにより、変更を確実に反映するために、まったく新しいコンソールウィンドウが開始されます。しかし、私の同僚のマシンでは、そうではありません。彼は以前のバージョンのjavaを見つけて、path変数を呼び出して保存するまで(たとえ変更を加えていなくても)続けます。)(これも、新しいコンソールを起動するときです)窓。)私はwindowsでこの不整合を約6か月間観察しており、非常に興味があります。私たちのオフィスにはwindowsのバージョンが多すぎるため、これまでまったく同じosバージョンを実行している2台のマシンでこれが発生することはめったにありませんでした。何が原因ですか?自分のマシンが新しいjava_homeを使用してpathを再評価しないのはなぜですか?(それはパスの最初のものではないからですか?そうであれば、それはどうしてですか?なぜですか?チェックするためにさらにテストを行いますが、今は彼はそれにうんざりしていて、仕事に戻りたいと思います。)
回答: 独自のユーザー環境変数を定義する場合は、pathにスペースが含まれていないことを確認してください。例:c:\ gnat\bin; c:\ gnat\includeは、「;」の間のスペースのため、機能しません。および「c:\ gnat\include」。