Acerca de:

Este blog contiene los códigos, ejemplos y bases de datos que he usado cuando aprendía acerca de algún tema específico. En lugar de borrarlos (una vez dominado ya el tema), he decidido publicarlos :)

martes, 25 de julio de 2017

Windows: Cómo setear la versión de Java predeterminada (y sin tocar el registro)

Tengo una pc con Windows 7 x64 con Java JDK 7 y Java JDK 8.

Para saber qué versión de Java se usa por defecto se debe abrir la consola (cmd) y ejecutar:

java -version

Cuando instalé Java 8, el instalador seteó el sistema para que por defecto los jars se ejecutaran con Java 8, pero un día necesité probarlos en Java 7. Para cambiar la versión de java predeterminada se debe hacer lo siguiente:

1. Ir a Configuración Avanzada del Sistema -> Variables de Entorno.

2. Ubicar la variable PATH. Antes que nada, Java busca en esta variable la carpeta donde está instalado su runtime. En mi caso, la variable se veía así:

C:\ProgramData\Oracle\Java\javapath;C:\Windows\System32;C:\Program Files\Java\jdk1.8.0_121\bin;

En la carpeta C:\ProgramData\Oracle\Java\javapath; hay 3 simlinks que no se pueden editar y que direccionan a la carpeta de instalación de Java 8. Estos Simlinks se deben cortar y copiar a otra ubicación (esto es para poder restaurarlos después).

3. Se borran las rutas a C:\ProgramData\Oracle\Java\javapath; y al runtime de Java que no se desea, y se añade la ruta del runtime de Java que sí se desea. En mi caso la variable Path queda como:

C:\Windows\System32;C:\Program Files\Java\jdk1.7.0_21\bin;

4. Setear las variables JAVA_HOME y JRE_HOME al runtime de Java deseado:

JRE_HOME: C:\Program Files\Java\jdk1.7.0_21\jre
JAVA_HOME: C:\Program Files\Java\jdk1.7.0_21

Si lo que se desea es redireccionar al JRE y no al JDK sólo hasta cambiar la ruta C:\Program Files\Java\jdk1.7.xxx por C:\Program Files\Java\jre1.7.xxx

Si al ejecutar el comando java -version sigue apareciendo el java anterior a los cambios, basta reiniciar el sistema.