¿Por qué java -version devuelve una versión diferente a la definida en JAVA_HOME?

18

Mi JAVA_HOME está configurado en C:\bea\jdk150_10\bin(Java 1.5). Sin embargo, cuando corro java -versionme sale lo siguiente:

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)

¿Cómo puedo usar la versión 1.5?

Jeune
fuente

Respuestas:

14

correr

where java

en su símbolo del sistema.

En mi sistema, imprimió algo bastante inesperado:

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

Verificando que realmente hay un Java allí:

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)

Entonces, una solución es asegurarse de que su Java preferido esté en la RUTA antes C:\Windows\System32.

También intenté buscar en el panel de control de Java para ver si administra la versión C:\Windows\System32, pero solo pude ver la configuración, no editarla. Tal vez te funcione?

Mikel
fuente
8

Modificar la PATHvariable, no JAVA_HOME.

Consulte la documentación de Java sobre cómo configurar o cambiar su variable PATH .

  1. Inicio -> Panel de control -> Sistema -> Avanzado

  2. Haga clic en Variables de entorno, en Variables del sistema, busque PATHy haga clic en él.

  3. En las ventanas Editar, modifique PATHagregando la ubicación de la clase al valor de PATH. Si no tiene el elemento PATH, puede seleccionar agregar una nueva variable y agregar PATHcomo el nombre y la ubicación de la clase como el valor.

  4. Cerrar la ventana.

  5. Vuelva a abrir la ventana del símbolo del sistema y ejecute su código Java.

John T
fuente
Tampoco veo referencias a jdk 6 en la variable PATH. Solo Java 5 X)
Jeune
Es un ejemplo, el procedimiento sigue siendo el mismo ..
John T
4

No todas las aplicaciones usan JAVA_HOMEpara obtener la versión JDK. Como se dijo antes, algunos de ellos usan el %SystemRoot%\System32\java.exe. Puedes hacer %SystemRoot%\java.exe -versionpara ver cuál es esa versión.

Lo que tengo que agregar a las otras respuestas es que si compila con Maven, M2_HOME\bintambién debe ser anterior %SystemRoot%en el orden para que Maven use la JAVA_HOMEversión correcta .

Mihai Rus
fuente
1

¡JAVA_HOME no debería estar apuntando a la papelera!

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

¡También asegúrese de que la ruta a JAVA_HOME sea correcta! Si hay un error tipográfico y C: \ Windows \ System32 \ está en su ruta, entonces se ejecutará java.exe en lugar del especificado.

Karma negativo
fuente
0

Para mí en win 10, javac -version mostró java7 y java -version mostró java8. Hacer "where java" en el símbolo del sistema mostró java en tres ubicaciones. Tuve que eliminar Java de C: \ Windows \ System32, eliminar la entrada de "C: \ ProgramFile \ Oracle \ Java \ javapath" y "C: \ ProgramData \ Oracle \ Java" de la variable de ruta, mantener solo la entrada Jdk7 en la variable de ruta Trabajó después de dos horas de lucha.

Sneha Rathod
fuente
0

Vaya a la configuración avanzada de las variables de entorno y edite la variable de ruta. cualquiera que sea la versión de Java que desee, simplemente suba esa ruta de versiones por encima de todas las demás variables de entorno de otras versiones de Java.

aquí en la imagen la variable de entorno java_home se mueve hacia arriba que el entorno oracle java

nikita dharurkar
fuente
-1

Prueba esto:

@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
djangofan
fuente
-1

Estaba enfrentando el mismo problema. Más tarde, descubrí que el culpable era Java 8. Anteriormente instalé Java 8, pero ahora no hay una carpeta para Java 8 y mi JAVA_HOME se configuró en jre7, pero aún me enfrentaba al problema anterior.

solución

Eliminé javapath presente en C: \ ProgramData \ Oracle \ Java . Ahora mi sistema funciona correctamente. También resolvió mi problema de inicio de eclipse .

Sudip7
fuente
-2

Tuve el mismo problema Al hacer esto, resolví el problema.

En Windows 8 o 10, debe eliminar "C: \ ProgramFile \ Oracle \ Java \ javapath" de la ruta en la variable de entorno.

Esto puede resolver el problema.

Isuru Sandamal
fuente
2
Esto ya se sugirió hace 2 años
Ramhound