tengo - panel de control de java
¿Cómo configuro la instalación/tiempo de ejecución Java por defecto(Windows)? (4)
Tengo varios JDK (1.4, 1.5, 1.6) instalados en C: / Java con sus JRE. Luego dejé que Sun actualizara el JRE público en C: / Program Files / Java. Últimamente hay una mejora, instalándola en jre6. Anteriormente, había una carpeta diferente por cada versión nueva (1.5.0_4, 1.5.0_5, etc.), que ocupaba mucho espacio
Estoy en la situación en que instalé el JDK, pero no puedo ejecutar applets en los navegadores (es posible que no haya instalado el JRE).
Sin embargo, cuando instalo el JRE, corta mi JDK como el tiempo de ejecución predeterminado. Esto rompe casi todo (eclipse, hormiga), ya que requieren una JVM del servidor.
No existe una propiedad del sistema JAVA_HOME en estos días, simplemente parece usar algo de magia de registro (configurar la ruta del sistema tampoco sirve). Previamente, recién desinstalé el JRE después de que lo usé para restaurar el JDK. Esta vez quiero arreglarlo correctamente.
Esto también se manifiesta con el jre autoupdater. Hubo un tiempo en que tuve una configuración funcional con el JDK y el JRE, pero actualizó y destruyó todo.
He parchado el comportamiento de mi atajo de inicio de eclipse en el diálogo de propiedades
de
"E:/Program Files/eclipse/eclipse.exe"
a
"E:/Program Files/eclipse/eclipse.exe" -vm "E:/Program Files/Java/jdk1.6.0_30/bin"
como se describe en la documentación de Eclipse
Es solo un parche, ya que depende del atajo para arreglar las cosas ...
La alternativa es establecer el parámetro permanentemente en el archivo de inicialización de eclipse.
Esto es un poco molesto para Windows. Esto es lo que hago.
Instale el último Sun JDK, por ejemplo, 6u11 , en una ruta como c:/install/jdk/sun/6u11
, luego deje que el instalador instale el JRE público en el lugar predeterminado ( c:/program files/blah
). Esto configurará su JRE predeterminado para la mayoría de las cosas.
Instale los JDK antiguos según sea necesario, como 5u18 en c:/install/jdk/sun/5u18
, pero no instale los JRE públicos.
En desarrollo, tengo un pequeño archivo de proceso por lotes que utilizo para configurar un símbolo del sistema para cada versión de JDK. Esencialmente, simplemente configure JAVA_HOME=c:/jdk/sun/JDK_DESIRED
y luego configure PATH=%JAVA_HOME%/bin;%PATH%
. Esto colocará el JDK deseado primero en el camino y las herramientas secundarias como Ant o Maven pueden usar la variable JAVA_HOME
.
La ruta es importante porque la mayoría de las instalaciones públicas de JRE ponen un archivo ejecutable vinculado en c:/WINDOWS/System32/java.exe
, que generalmente anula la mayoría de otras configuraciones.
Después de muchos intentos, encontré que el enfoque de unión era más conveniente. Esto es muy similar a cómo se resuelve este problema en Linux.
Básicamente consiste en tener un enlace entre c:/tools/java/default
y la versión real de java que desea usar como predeterminada en su sistema.
Cómo configurarlo:
- Descarga uniones y asegúrate de ponerlo en tu variable de entorno PATH
- Establezca su entorno de esta forma: -
PATH
apunta SÓLO a esta jrec:/tools/java/default/bin
-JAVA_HOME
apunta a `c: / tools / java / default - Guarde todos sus jre-s en una carpeta como (si hace eso en su carpeta de Archivos de programa puede encontrar algunos
-
C:/tools/Java/JRE_1.6
-
C:/tools/Java/JRE_1.7
-
C:/tools/Java/JRE_1.8
-
- Abra un símbolo del sistema y cd a
C:/tools/Java/
- Ejecutar
junction default JRE_1.6
Esto creará una unión (que es más o menos como un enlace simbólico en Linux) entre C:/tools/java/default
y C:/tools/java/JRE_1.6
De esta forma, siempre tendrá su java predeterminada en c:/tools/java/default
.
Si luego necesita cambiar su Java por defecto a la versión 1.8, solo necesita ejecutar
junction -d default
junction default JRE_1.8
Luego puede hacer que los archivos por lotes lo hagan sin un símbolo del sistema como set_jdk8.bat
set_jdk7.bat
Según lo sugerido por @ СӏаџԁеМаятіи