間違ったJavaバージョンが報告されています


17

Windows 7 Professional x64を実行していますが、次のJavaバージョンがインストールされています。

x64

  • C:\ Program Files \ Java
    • jdk1.6.0_24
    • jdk1.7.0_04
    • jdk1.7.0_07
    • jre6
    • jre7

x86

  • C:\ Program Files(x86)\ Java
    • jre1.6.0_07
    • jre6
    • jre7

私の環境変数には、私がPATH含むC:\Program Files\Java\jdk1.6.0_24\binJAVA_HOME設定されていますC:\Program Files\Java\jdk1.6.0_24\bin

ただし、java -versionレポートの実行

java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

環境変数にこのバージョンのJavaへの参照がない場合、これはどのようになりますか。

Java 1.6を使用してApache ANTを実行しようとしているので、この問題に関するヘルプは素晴らしいでしょう。

回答:


27

システムパスのいずれかにjava.exeがコピーされている可能性があります(Javaインストーラーのデフォルトの動作であると言えます)。「java -version」を実行したときに実際に実行される内容を確認するには、コマンドラインから実行し
for %I in (java.exe) do @echo %~$PATH:Iます。


1
うわー-それはとても便利です!何らかの理由java.exeでsystem32にあります。前述のようなパスに移動します。
マラキ

1
ここでも同じ問題java.exesystem32ANDにありましたProgramData\Oracle\javapath
ケビンラベコ14年

次に何をすべきか疑問に思っている場合は、exesの名前を変更できます。私は名前を変更java.exejavaw.exeおよびjavaws.exejava-foobar.exejavaw-foobar.exeそしてjavaws-foobar.exeそれぞれ。
javatarz 14

これにより、チェックする必要のある場所の数が4に増えます:PATH、JAVA_HOME、Control Panels、そしてSystem32 ... ある日、レジストリは5日になります。そして、あなたに感謝します。
ヤロスラフザルバ

2

PATHフォルダーは、表示される順序でチェックされます。Javaパスを前面に移動してみてください。これで問題が解決する場合は、パス上のどこかに別のバージョンがあります。


2

(Javaプラグインで使用される)パブリックJREをインストールすると、java.exeファイルもC:\ WINNT \ system32(IIRC)に作成されます。C:\ WINNT \ system32がPATHのJDK / binディレクトリの前に来るため、実行されるのはおそらくこのjavaコマンドです。

JDK / binディレクトリをPATHの先頭に配置します


0

これにより、正しいJavaバージョンが報告され、問題の原因がわかります。

@ECHO off
ECHO ---------------
SET "JAVA_HOME=C:\Path to wherever\JDKwhatever"
SET "PATH=%JAVA_HOME%\bin;%PATH%"
java -version
ECHO ---------------
pause

0

すべてのJDKおよびJREをアンインストールすることをお勧めします。次に、最新のJDKをインストールし、クラスパス、JAVA_HOME、およびパスを更新します。これは私のために働いた。


-1

最近わかったようにJAVA_HOME、「ユーザー変数」セクションではなく「システム変数」セクションで定義していることを確認してください。

私は%JAVA_HOME%\bin最初に持っていましたがPATH、機能していませんでした- JAVA_HOMEシステムに追加すると問題が修正されました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.