Versão Java incorreta sendo relatada

17

Estou executando o Windows 7 Professional x64 e tenho as seguintes versões Java instaladas:

x64

  • C: \ Arquivos de Programas \ Java
    • jdk1.6.0_24
    • jdk1.7.0_04
    • jdk1.7.0_07
    • jre6
    • jre7

x86

  • C: \ Arquivos de Programas (x86) \ Java
    • jre1.6.0_07
    • jre6
    • jre7

nas minhas variáveis ​​de ambiente, tenho meu PATHcontendo C:\Program Files\Java\jdk1.6.0_24\bine JAVA_HOMEdefinido comoC:\Program Files\Java\jdk1.6.0_24\bin

No entanto, a execução de java -versionrelatórios

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)

Como é esse o caso quando não há referência a esta versão do Java nas minhas variáveis ​​de ambiente.

Qualquer ajuda sobre esse problema seria ótima, pois estou tentando executar o Apache ANT usando o Java 1.6.

Malaquias
fonte

Respostas:

27

Provavelmente, o java.exe foi copiado para um dos caminhos do sistema (AFAIK, que é o comportamento padrão do instalador do Java). Para verificar o que realmente é executado quando você executa 'java -version', execute a partir da linha de comando:
for %I in (java.exe) do @echo %~$PATH:Ie ele informará onde está.

wmz
fonte
1
Uau - isso é tão útil! Por alguma razão java.exeestá no system32. Vou movê-lo no caminho como mencionado.
Malachi
1
O mesmo problema aqui, java.exeestava no system32AND #ProgramData\Oracle\javapath
Kevin Labécot 8/10/14
Se você está se perguntando o que fazer a seguir, pode renomear os exe. I renomeado java.exe, javaw.exee javaws.exepara java-foobar.exe, javaw-foobar.exee javaws-foobar.exerespectivamente.
Javatarz
Isso aumenta o número de lugares que eu preciso verificar para 4: PATH, JAVA_HOME, Control Panels e agora também System32 ... Apenas uau. Um dia o registro se tornará o quinto. E para você eu agradeço senhor.
Jaroslav Záruba
2

As pastas PATH são verificadas na ordem em que aparecem. Tente mover o caminho do java para a frente. Se isso resolver o problema, você terá outra versão em algum lugar do seu caminho.

Chris Nava
fonte
2

Ao instalar um JRE público (usado pelo plug-in Java), um arquivo java.exe também é criado em C: \ WINNT \ system32 (IIRC). Provavelmente é este comando java que é executado, pois C: \ WINNT \ system32 vem antes do diretório JDK / bin no seu PATH.

Coloque o diretório JDK / bin no início do PATH

Pyuri Sahu
fonte
0

Isso informará a versão java correta e também indicará qual é o problema:

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

Sugiro que você desinstale todos os JDKs e JREs. Em seguida, você instala o JDK mais recente e atualiza seu caminho de classe, JAVA_HOME e caminho. Isso funcionou para mim.

Abderrahmen
fonte
-1

Como descobri recentemente, verifique se está definindo JAVA_HOMEna seção "Variáveis ​​do sistema" e não na seção "Variáveis ​​do usuário".

Eu tinha %JAVA_HOME%\binno início, PATHmas não estava funcionando - a adição JAVA_HOMEao sistema corrigiu o problema.

Paulo
fonte