Por que o java -version está retornando uma versão diferente daquela definida em JAVA_HOME?

13

Meu JAVA_HOME está definido como C:\bea\jdk150_10\bin (Java 1.5). No entanto, quando executo java -version , obtenho o seguinte:

java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)

Como posso usar a versão 1.5?

    
por Jeune 25.01.2011 / 20:07

9 respostas

16

Como Mikel mencionou , Na sua máquina java é tirada de C:\Windows\System32\java.exe .

Altere o caminho nas variáveis do ambiente do sistema como sentado por John T .

E modifique-o com C:\bea\jdk150_10\bin antes de %SystemRoot%\system32 no caminho.

    
por 26.01.2011 / 00:13
11

Executar

where java

no seu prompt de comando.

No meu sistema, imprimiu algo bastante inesperado:

C:\Users\Mikel>where java
C:\Windows\System32\java.exe

Verificando se realmente existe um Java:

C:\Users\Mikel>c:\windows\system32\java.exe -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)

Portanto, uma solução é garantir que seu Java preferido esteja no PATH antes de C:\Windows\System32 .

Eu também tentei procurar no painel de controle do Java para ver se ele gerencia a versão em C:\Windows\System32 , mas só consegui visualizar as configurações, não editá-las. Talvez funcione para você?

    
por 25.01.2011 / 21:52
8

Modifique a variável PATH , não JAVA_HOME .

Consulte a documentação do Java em configuração ou alteração da variável PATH .

  1. Start -> Control Panel -> System -> Advanced

  2. Click on Environment Variables, under System Variables, find PATH, and click on it.

  3. In the Edit windows, modify PATH by adding the location of the class to the value for PATH. If you do not have the item PATH, you may select to add a new variable and add PATH as the name and the location of the class as the value.

  4. Close the window.

  5. Reopen Command prompt window, and run your Java code.

    
por 25.01.2011 / 20:09
4

Nem todos os aplicativos usam JAVA_HOME para obter a versão do JDK. Como dito antes, alguns deles usam o %SystemRoot%\System32\java.exe . Você pode fazer %SystemRoot%\java.exe -version para ver qual é essa versão.

O que eu tenho que adicionar às outras respostas é que se você construir com o Maven, M2_HOME\bin também deve estar antes de %SystemRoot% na ordem para o Maven usar a versão JAVA_HOME correta.

    
por 23.08.2011 / 08:50
1

O JAVA_HOME não deve estar apontando para a lixeira!

SET "JAVA_HOME = C: \ bea \ jdk150_10" SET "CAMINHO =% JAVA_HOME% / bin;% PATH%"

Verifique também se o caminho para JAVA_HOME está correto! Se houver um erro de digitação e C: \ Windows \ System32 \ estiver em seu caminho, esse java.exe será executado em vez daquele que você especificou.

    
por 02.03.2013 / 01:42
0

Para mim no win 10, javac -version mostrava java7 e java -version mostrava java8.Doing "where java" no prompt de comando mostrava java em três locais. Eu tive que remover Java de C: \ Windows \ System32, Remover entrada de "C: \ ProgramFile \ Oracle \ Java \ javapath" e "C: \ ProgramData \ Oracle \ Java" da variável de caminho, manter apenas a entrada Jdk7 na variável de caminho trabalhou depois de duas horas de luta longa.

    
por 04.06.2018 / 12:36
-1

Tente isto:

@echo off
DOSKEY WHICH=@for %%E in (%PATHEXT%) do @for %%I in ($*%%E) do @if NOT "%%~$PATH:I"=="" echo %%~$PATH:I
SET "JAVA_HOME=C:\Java\jdk1.6"
SET "PATH=%JAVA_HOME%\bin;%PATH%"
where.exe java
WHICH java
pause
    
por 30.01.2013 / 17:16
-2

Eu estava enfrentando o mesmo problema. Mais tarde, descobri que o culpado era o Java 8. Anteriormente, instalei o java 8, mas agora não há pasta para o java 8 e meu JAVA_HOME foi definido como jre7, mas ainda assim estava enfrentando problemas acima.

solução

Eu deletei o javapath presente em C: \ ProgramData \ Oracle \ Java . Agora meu sistema está funcionando corretamente. Também resolveu o meu problema de arranque do eclipse .

    
por 31.12.2015 / 06:07
-2

Eu tive o mesmo problema. Fazendo isso, resolvi o problema.

No Windows 8 ou 10, você precisa remover "C: \ ProgramFile \ Oracle \ Java \ javapath" do caminho na variável de ambiente.

Isso pode resolver o problema.

    
por 28.01.2018 / 04:24

Tags