私のシステムパスはD:\Program Files\Java\jdk1.7.0_05\bin
、最初のパスコンポーネントとして持っています。
管理者としてコマンドプロンプトを開きました。
次に、java-versionを実行しました
D:\Program Files\Java\jdk1.7.0_05\bin
パス内の最初のjava.exeであるため、実行中のjava.exe 。すべて順調。
次に、次のコマンドを使用してパスを変更します。
set PATH=D:\Program Files\Java\jdk1.7.0_01\bin;%PATH%
jdk1.7.0_01\bin
これは、パスの最初のコンポーネントとして追加されます
今私はjava-versionを実行します
D:\Program Files\Java\jdk1.7.0_01\bin\java.exe
それがPATHの最初であるため、私はが実行されることを期待していました。しかし、実際には実行されましjdk1.7.0_05\bin\java.exe
た。つまり、setPATHコマンドは効果がありました。
私がエコーをしたとき%PATH%
、D:\Program Files\Java\jdk1.7.0_01\bin
確かにパスの最初のコンポーネントとして現れました。
では、なぜjava.exeがjdk1.7.0_01 \ binの場所から実行されないのですか?
管理者として実行されていないコマンドプロンプトから同じことを試しましたが、すべてが期待どおりに機能しました。つまり、set PATHコマンドを実行した後、からjavaが取得されましたjdk1.7.0_01\bin
。
これは、コマンドプロンプトを管理者として開いたときに、set PATHが機能しないことを意味しますか?