Windowsの.batスクリプトを使用していますJAVA_HOME
がC:/Program Files/Java/jdk1.6.0_32
、を実行するjava -version
と、1.3が表示されます。
どうすればこれを修正できますか?私は何が間違っているのですか?
Windowsの.batスクリプトを使用していますJAVA_HOME
がC:/Program Files/Java/jdk1.6.0_32
、を実行するjava -version
と、1.3が表示されます。
どうすればこれを修正できますか?私は何が間違っているのですか?
私にとって、問題は私のPATH変数にあり、私のC:\ProgramData\Oracle\Java\javapath;
前にjavawindowsinstallによって追加されました%JAVA_HOME%\bin;
。だから私はecho %JAVA_HOME%
JDK7を指してjava -version
jdk8を表示します。
jdk7が表示されるように%JAVA_HOME%\bin;
前に置きます。C:\ProgramData\Oracle\Java\javapath;
java -version
試す%JAVA_HOME%\bin\java -version
を変更する場合は、通常、絶対パスを使用して(を使用して)JAVA_HOME
呼び出すことをお勧めします。これは、新しいバイナリがパスに含まれていない可能性があるためです(Windowsは間違ったバイナリをロードします)。java
JAVA_HOME
PATH
環境変数がを指していることを確認してください%JAVA_HOME%\bin
。
システム変数のパスとユーザー変数のシステムパスを混在させないように注意してください。java
絶対パスなしで呼び出しても問題ないと感じます(方法JAVA_HOME
とPATH
構成がわかっている場合)。
コマンドラインから呼び出すjava -version
と、cmd.exeは「既知の」ディレクトリを検索します。「既知」とは、PATH環境変数を意味します。PATHにbin
1.6ではなくjava1.3フォルダが含まれているようです。
JAVA_HOMEは別の変数であり、Javaラッパー、またはJavaのものを実行するスクリプトによって(たとえば、だけでなく)使用されます。
これを試してみてください:
SET JAVA_HOME=C:/Program Files/Java/jdk1.6.0_32
%JAVA_HOME%/bin/java -version
必要に応じて引用符を追加します。
同様の問題がありました。私の場合、2つのバージョンのJavaがインストールされていました。1つのバージョンのJavaをシステムから完全にアンインストールすることで修正できます。
今日同様のシナリオがありました-2つのWindows10デバイス-両方ともJRE1.6と1.7を持っています。
入力するとき
Java -version
1つのデバイスは1.6を示し、他のデバイスは1.7を示します。
これにより、サードパーティのJARを実行して、1.6を示すデバイスにソフトウェアをインストールすることができませんでした(java -versionを実行すると1.7を示すデバイスで正常に動作しました)。
java -jar ThirdParty.jar
JARは1.7で実行する必要があったため。
これの原因はPATH環境変数にありました-1つのデバイスはPATHリストの最初に1.6の場所を持っていました、1.6の場所の上に1.7の場所を移動すると、Javaバージョンを使用して一貫性が得られ、ソフトウェアをインストールできました。