¿Cómo puedo cambiar la versión en tiempo de ejecución de Java en Windows (7)?


¿Cómo puedo cambiar la versión en tiempo de ejecución de Java en Windows?

Instalé Java 7 para algunas pruebas, y ahora necesito el antiguo java6 como predeterminado del sistema, pero no quiero desinstalar el Java 7 (lo necesito para pruebas posteriores). ¿Puedo cambiar el JRE utilizado por el sistema en la pestaña panel de control/Java/JRE? Puedo cambiar / editar/agregar / eliminar la versión utilizada por el usuario, pero no la utilizada por el sistema.

Author: Peter Mortensen, 2010-07-26

8 answers

Para aplicaciones Java , es decir, programas que se entregan (generalmente) como archivos .jar y se inician con java -jar xxx.jar o a través de un atajo que hace lo mismo, el JRE que se lanzará será el primero que se encuentre en el PATH.

Si instaló un JRE o JDK, los lugares probables para encontrar los .exes están debajo de directorios como C:\Program Files\JavaSoft\JRE\x.y.z. Sin embargo, he encontrado algunas" fuera de la caja " instalaciones de Windows a (también?) tener copias de java.exe y javaw.exe en C:\winnt\system32 (NT y 2000) o C:\windows\system (Windows 95, 98). Esta suele ser una versión bastante antigua de Java: 1.3, tal vez? Querrás hacer java -version en una ventana de comandos para comprobar que no estás ejecutando alguna versión anticuada de Java.

Por supuesto, puede anular la configuración de la RUTA o incluso prescindir de ella indicando explícitamente la ruta a java.exe / javaw.exe en su línea de comandos o definición de acceso directo.


Si está ejecutando applets desde el navegador, o posiblemente también Java Web Start aplicaciones (parecen aplicaciones en la medida en que tienen su propia ventana, pero se inician desde el navegador), la elección de JRE está determinada por un conjunto de configuraciones del registro:

Key: HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
Name: CurrentVersion
Value: (e.g.) 1.3

Se crean más claves de registro usando este esquema:

(e.g.) 
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3   
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3.1

Es decir, uno para el mayor y uno que incluye el número de versión menor. Cada una de estas claves tiene valores como estos (ejemplos mostrados):

JavaHome    : C:\program Files\JavaSoft\JRE\1.3.1
RuntimeLib  : C:\Program Files\JavaSoft\JRE\1.3.1\bin\hotspot\jvm.dll
MicroVersion: 1

... y su navegador buscará estas configuraciones para determinar qué JRE desea enciende.

Dado que las versiones de Java están cambiando con bastante frecuencia, ahora hay un "asistente" llamado "Panel de Control de Java" para cambiar manualmente la versión de Java de su navegador. Esto funciona para IE, Firefox y probablemente otros como Opera y Chrome también: Es el applet' Java' en Windows ' System Settings aplicación. Puedes elegir cualquiera de los JRE instalados. Creo que el mago juega con esas entradas del registro.

Si eres como yo y has "desinstalado" versiones antiguas de Java simplemente borrando los directorios, usted encontrará estos "fantasmas"entre las opciones también; así que asegúrese de que el JRE que elija corresponde a una instalación de Java intacta!


Algunas otras respuestas recomiendan establecer la variable environment JAVA_HOME. Mientras tanto, este es un consejo anticuado. Sol llegó a darse cuenta, alrededor de Java 2, que esta configuración de entorno es

  1. poco fiable, ya que los usuarios a menudo lo configuran incorrectamente, y {[48]]}
  2. innecesario, ya que es bastante fácil para el tiempo de ejecución para encontrar los directorios de la biblioteca Java, sabiendo que están en una ruta fija en relación con la ruta desde la que java.exe o javaw.se lanzó exe.

Casi no queda ningún software Java moderno que necesite o respete la variable de entorno JAVA_HOME.


Más información:

...y algunos útiles información sobre soporte multi-versión:

 73
Author: Carl Smotricz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-26 19:15:43

Suelo trabajar en máquinas tipo UNIX, pero recientemente he tenido que trabajar con Java en una máquina con Windows 7. He tenido ese problema y esto es lo que he resuelto. Ha funcionado bien para mí, así que espero que pueda ser utilizado para quienquiera que pueda tener este problema en el futuro.

Estos pasos se exponen teniendo en cuenta una instalación Java predeterminada en la unidad C. Debe cambiar lo que es necesario en caso de que su instalación no sea predeterminada.

Cambiar la máquina virtual predeterminada de Java en Windows 7

Supongamos que hemos instalado Java 8 pero por cualquier razón queremos mantener Java 7.

1-Iniciar un cmd como administrador

2-Vaya a C:\ProgramData\Oracle\Java

3 - Cambie el nombre del directorio actual javapath a javapath_. E. g.: rename javapath javapath_1.8

4 - Crea un directorio javapath_. E. g.: mkdir javapath_1.7

5-cd en él y crear los siguientes enlaces:

cd javapath_1.7
mklink java.exe "C:\Program Files\Java\jre7\bin\java.exe"
mklink javaw.exe "C:\Program Files\Java\jre7\bin\javaw.exe"
mklink javaws.exe "C:\Program Files\Java\jre7\bin\javaws.exe"

6-cd out y crear un directorio link javapath apuntando al javapath deseado. E. g.: mklink /D javapath javapath_1.7

7-Abra el registro y cambie la clave HKEY_LOCAL_MACHINE \ SOFTWARE\JavaSoft \ Java Runtime Environment \ CurrentVersion para tener el valor 1.7

En este punto si ejecuta java -version debería ver que está utilizando la versión 1.7 de java:

java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

8 - Finalmente es una buena idea crear la variable de entorno JAVA_HOME. Para hacer eso, creo un enlace de directorio llamado CurrentVersion en C:\Program Files \ Java apuntando a la versión de Java que me interesa. Por ejemplo:

cd C:\Program Files\Java\
mklink /D CurrentVersion .\jdk1.7.0_71

9 - Y una vez hecho esto:

  • Haga clic con el botón derecho en Mi equipo y seleccione Propiedades.
  • En la pestaña Avanzado, seleccione Variables de entorno y, a continuación, edite / cree JAVA_HOME para indicar dónde se encuentra el software JDK, en ese caso, C:\Program Files\Java\CurrentVersion
 58
Author: Mia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-15 12:12:53

Desde Java 1.6, un java.exe está instalado en % windir% \ system32 que admite una opción de línea de comandos"- version". Puede usar esto 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.

Ver la documentación de Oracle aquí: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html

 25
Author: Jules,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-21 13:03:41

Una vez que actualizé mi versión de Java a 8 como sugirió el navegador. Sin embargo, había seleccionado desinstalar la versión anterior de Java 6 que he utilizado para codificar mis proyectos. Cuando introduzco el comando en "java-version" in cmd it showed 1.8 and I could not start eclipse IDE run on Java 1.6.

Cuando instalé Java 8 update para el navegador había cambiado la variable del sistema "PATH" anexando "C:\ProgramData\Oracle\Java\javapath" hasta el principio. Ruta recientemente añadida que apunta a Java vesion 8. Así que eliminé esa ruta de la variable del sistema "RUTA" y todo funcionó bien. :)

 6
Author: Asanka Siriwardena,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-17 06:17:55

Vaya al panel de control > > Java Puede seleccionar la versión activa aquí

 4
Author: Shazia Tabassum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-21 07:01:07

Todo lo que necesita hacer es establecer la variable de entorno PATH en Windows para que apunte a donde está su directorio bin java6 en lugar del directorio java7.

Haga clic con el botón derecho en Mi equipo > Configuración avanzada del sistema > Avanzada > Variables de entorno

Si hay una variable de entorno JAVA_HOME establezca esto para que apunte al directorio correcto también.

 3
Author: David Young,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-26 09:24:34

Actualice sus variables de entorno

Asegúrese de que la referencia a java/bin esté actualizada en 'Path'; esto puede ser automático si tiene JAVA_HOME o equivalente establecido. Si JAVA_HOME está configurado, simplemente actualícelo para referirse a la instalación antigua de JRE.

 0
Author: Syntax,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-26 09:23:33

Si está utilizando windows 10 o windows server 2012, los pasos para cambiar la versión en tiempo de ejecución de Java son los siguientes:

  1. Abrir regedit usando'Run'
  2. Vaya a HKEY_LOCAL_MACHINE -> SOFTWARE -> JavaSoft - > Java Runtime Environment
  3. Aquí verás todas las versiones de java que instalaste en tu PC. Para mí tengo varias versiones de java 1.8 instaladas, por lo que la carpeta que se muestra aquí son 1.8, 1.8.0_162 y 1.8.0_171
  4. Haga clic en la carpeta' 1.8', luego haga doble clic en Las teclas JavaHome y RuntimeLib, cambian el número de versión dentro de cualquier versión de Java en la que desee que se ejecute su PC. Por ejemplo, si el Valor de datos de la clave es 'C:\Program Files\Java\jre1.8.0_171', usted puede cambiar esto a " C:\Program Files\Java\jre1.8.0_162'.
  5. Luego puede verificar el cambio de versión escribiendo 'java-version' en la línea de comandos.
 0
Author: Harvey Lin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-24 16:54:21