Cambiar la versión actual de Java dentro de Windows

16

Estoy trabajando en un entorno Windows XP y recientemente instalé Java 1.6 porque era requerido por una aplicación.

Sin embargo, no quiero que esta sea la versión predeterminada de Java que se utilizará. ¿Cómo lo configuro para que el comando java -version devuelva 1.5.x

Dunc
fuente
Echaría un vistazo a pathla variable de entorno. Puede examinarlo en la línea de comandos con: echo %PATH%. Estas son carpetas predeterminadas donde se buscan binarios. Si encuentra una ruta a JAVA, puede ajustarla fácilmente en Preferencias del sistema.
Rekin

Respuestas:

21

Cambie su variable PATH para que tenga la ubicación del directorio jdk5 / bin:

  1. Inicio -> Panel de control -> Sistema -> Avanzado
  2. Haga clic en Variables de entorno, en Variables del sistema, busque RUTA y haga clic en él.
  3. En las ventanas Editar, modifique RUTA agregando la ubicación de su directorio jdk5 / bin al principio. Si no tiene el elemento RUTA, puede seleccionar agregar una nueva variable y agregar RUTA como el nombre y la ubicación del directorio como el valor.
  4. Cerrar la ventana.
  5. Vuelva a abrir la ventana del símbolo del sistema y ejecute java -version
dogbane
fuente
Eso no funcionó. El jre bin no formaba parte de la ruta anteriormente, por lo que debe configurarse en otro lugar.
Dunc
99
Esto se debe a que cuando instala Java, los contenedores se colocan en C: \ WINDOWS \ system32, que es parte de su RUTA. Debe agregar el directorio jre / bin al comienzo de la RUTA.
dogbane
Lo siento, no vi la parte inicial. Gracias
Dunc
3
Si tiene varios JRE instalados, la única forma de lograr esto es cambiando la entrada del registro. Especialmente porque hay herramientas que leen la información de JRE del registro y no la ruta de clase.
Ayusman
17

En el shell de comandos:

set JAVA_HOME=C:\jdk1.6.0u24
set PATH=%JAVA_HOME%\bin;%PATH%

Eso configurará temporalmente el entorno en el shell de comandos. Maven, Ant, etc. retomará su nueva versión de Java sin tener que ir al Panel de control repetidamente.

Las herramientas como Eclipse deberían poder seleccionar qué JDK usar en sus propias herramientas de configuración para usar dentro de sus entornos.

Mike Thomsen
fuente
6

Java 8 crea tres accesos directos en \ ProgramData \ Oracle \ Java \ javapath que apuntan a los últimos Java8 java.exe, javaw.exe y javaws.exe y luego coloca \ ProgramData \ Oracle \ Java \ javapath al frente de la RUTA para que no importa lo que le haga a la variable de entorno JAVA_PATH, aún obtendrá la última versión de Java 8.

Puedes evitar esto

1) renombrar \ ProgramData \ Oracle \ Java \ javapath a otra cosa (\ ProgramData \ Oracle \ Java \ javapath8 por ejemplo)

2) crear una nueva carpeta javapath en Java y

3) creando los atajos que necesitas.

Simplemente restaure el javapath cuando haya terminado con las versiones anteriores y recupere Java 8.

Ron
fuente
1
Bueno, siempre puedes colocar tu antigua ubicación de Java en la RUTA, en primer lugar, y ganará.
leonbloy
En resumen, pero al punto, muy buena respuesta, esta explica más específicamente cómo generar múltiples versiones de javapathcarpetas, utilizando enlaces simbólicos, para que pueda cambiar sin tiempo entre versiones y las cosas del registro que faltan aquí, capturas de pantalla y trucos para evitar reiniciar después de los cambios también. ver stackoverflow.com/questions/27996603 .
3

Hay dos formas de solucionar esto:

1) Cambiar la RUTA (como alguien ya ha mencionado) Lo importante con esta solución es establecer JAVA_HOME antes de las rutas de Windows. Esto es porque debajo de la carpeta de Windows, hay un java.exe que redirige al último jre instalado .

2) Regedit. La clave HKEY_LOCAL_MACHINE-> SOFTWARE-> JAVASOFT-> Java Runtime Environment contiene la última versión instalada a la que redirige java.exe en la carpeta de Windows. Si cambia esto a una versión previamente instalada, todo debería ser color de rosa. (Al menos, creo que esta es la clave de registro correcta)


fuente
1

La última versión de JRE que tiene siempre tiene prioridad sobre cualquier configuración de RUTA. Entonces, para estar seguro, desinstale el 1.6 JRE si no desea que sea el principal. Puede tener cualquier número de JDK instalados en paralelo.

adarshr
fuente
1

Como Java admite una -versionopción de línea de comandos, puede usarla para seleccionar una versión específica para ejecutar, por ejemplo:

java -version:1.7 -jar [path to jar file]

ejecutará una aplicación jar en Java 1.7, si está instalada.

Para más detalles, consulte la documentación de Oracle .

Akhilesh Dubey
fuente
@Jawa esto java -version:1.7 -jar [path to jar file]ya no es compatible. Es posible que deba seguir la ruta PATH Saludos.
Adeola Ojo
0

Cree un archivo "setjava.bat" y guárdelo con el contenido a continuación y no olvide cambiar JAVA_PATH para su sistema. Además, recuerde guardar este archivo con la extensión .bat.

echo off
REM IMPORTANT
REM RUN THIS SCRIPT AS ADMINISTRATOR
set JAVA_REQ_VER=%1
IF "%JAVA_REQ_VER%" == "7" (
 set JAVA_PATH="C:\Progra~1\Java\jdk1.7.0_79"
) ELSE (
 REM At present I only need to assign 8 by default if not 7
 set JAVA_PATH="C:\Progra~1\Java\jdk1.8.0_111"
)
setx /M JAVA_HOME "%JAVA_PATH%"

Ahora solo ejecuta este script con privilegios de administrador.

Ejemplo: setjava 8, setjava 7

Mira este enlace para más detalles

Ricky
fuente