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.

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á.


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.


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


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

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.


-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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.