Se ha informado una versión incorrecta de Java


17

Estoy ejecutando Windows 7 Professional x64 y tengo instaladas las siguientes versiones de Java:

x64

  • C: \ Archivos de programa \ Java
    • jdk1.6.0_24
    • jdk1.7.0_04
    • jdk1.7.0_07
    • jre6
    • jre7

x86

  • C: \ Archivos de programa (x86) \ Java
    • jre1.6.0_07
    • jre6
    • jre7

en mis variables de entorno tengo mi PATHcontenido C:\Program Files\Java\jdk1.6.0_24\biny JAVA_HOMEestablecido enC:\Program Files\Java\jdk1.6.0_24\bin

Sin embargo, ejecutando java -versioninformes

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)

¿Cómo es este el caso cuando no hay referencia a esta versión de Java en mis variables de entorno?

Cualquier ayuda sobre este tema sería excelente ya que estoy tratando de ejecutar Apache ANT usando Java 1.6.

Respuestas:


27

Probablemente haya copiado java.exe en una de las rutas del sistema (AFAIK es el comportamiento predeterminado del instalador de Java). Para verificar qué se ejecuta realmente cuando ejecuta 'java -version', ejecute desde la línea de comandos:
for %I in (java.exe) do @echo %~$PATH:Iy le dirá dónde está.


1
Wow, eso es muy útil! Por alguna razón java.exeestá en system32. Lo moveré por el camino como se mencionó.
Malaquías

1
El mismo problema aquí, java.exeestaba en system32YProgramData\Oracle\javapath
Kevin Labécot

Si se pregunta qué hacer a continuación, puede cambiar el nombre del exes. Cambié el nombre java.exe, javaw.exey javaws.exea java-foobar.exe, javaw-foobar.exey javaws-foobar.exerespectivamente.
javatarz

Eso aumenta el número de lugares que necesito verificar a 4: RUTA, JAVA_HOME, Paneles de control y ahora también System32 ... Simplemente wow. Un día el registro se convertirá en 5to. Y a usted se lo agradezco señor.
Jaroslav Záruba

2

Las carpetas PATH se verifican en el orden en que aparecen. Intenta mover el camino de Java hacia el frente. Si eso soluciona el problema, entonces tiene otra versión en algún lugar de su camino.


2

Al instalar un JRE público (utilizado por el complemento de Java), también se crea un archivo java.exe en C: \ WINNT \ system32 (IIRC). Probablemente se ejecute este comando de Java, ya que C: \ WINNT \ system32 viene antes del directorio JDK / bin en su RUTA.

Ponga el directorio JDK / bin al comienzo de la RUTA


0

Esto informará la versión correcta de Java y también le dará una idea de cuál es el problema:

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

0

Le sugiero que desinstale todos los JDK y JRE. Luego, instala el último JDK y actualiza su classpath, JAVA_HOME y su ruta. Esto funcionó para mí.


-1

Como descubrí recientemente, asegúrese de definir JAVA_HOMEen la sección "Variables del sistema" y no en la sección "Variables de usuario".

Al %JAVA_HOME%\binprincipio PATHlo tenía, pero no funcionaba: agregar JAVA_HOMEal sistema corrigió el problema.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.