Windowsの.batスクリプトを使用していて、Java_HOME
を実行するとC:/Program Files/Java/jdk1.6.0_32
をJava -version
に設定しましたが、1.3が表示されます。
どうすればこれを修正できますか?私は何が間違っているのですか?
%Java_HOME%\bin\Java -version
をお試しください
Java_HOME
を変更する場合、新しいバイナリがパスにない可能性があるため(Java_HOME
を使用)、絶対パスを使用してJava
を呼び出すことをお勧めします(そうすると、Windowsは間違ったロードを行います)バイナリ)。
私の場合、問題はPATH変数にあり、_C:\ProgramData\Oracle\Java\javapath;
_はJava Windowsインストールの前に_%Java_HOME%\bin;
_によって追加されました。したがって、_echo %Java_HOME%
_はJDK7と_Java -version
_はjdk8を示しています。
_%Java_HOME%\bin;
_の前に_C:\ProgramData\Oracle\Java\javapath;
_を付けて、_Java -version
_がjdk7を表示するようにします。
PATH
環境変数が%Java_HOME%\bin
を指していることを確認してください。
システム変数パスとユーザー変数システムパスを混在させないように注意してください。絶対パスなしでJava
を呼び出しても問題ないと思います(どのようにJava_HOME
およびPATH
が構成されています)。
コマンドラインからJava -version
を呼び出すと、cmd.exeは「既知の」ディレクトリを検索します。 「既知」とは、PATH環境変数を意味します。 PATHに1.6ではなくJava 1.3 bin
フォルダーが含まれているようです。
Java_HOMEは別の変数であり、Javaラッパー、またはJavaのものを実行するスクリプトによって)使用されます。
これを試してください:
SET Java_HOME=C:/Program Files/Java/jdk1.6.0_32
%Java_HOME%/bin/Java -version
必要に応じて引用符を追加します。
今日同様のシナリオがありました-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 -versionを使用して一貫性があり、私を許可しましたソフトウェアをインストールします。
同様の問題がありました。私の場合、2つのバージョンJavaがインストールされていました。1つのバージョンのJavaをシステムから完全にアンインストールすることで修正できます。