7 votos

¿Cómo instalar Java 7 al lado de Java 6?

Estoy usando un MackBook Pro con Mac OS X 10.8.2. Actualmente tengo Java 6 instalado:

wdb-laptop:~ wdb$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)

Me gustaría instalar Java 7 para jugar con JavaFX, sin embargo, todas mis aplicaciones de trabajo todavía están en Java 6. Así que me gustaría instalar Java 7 "al lado". ¿Es esto posible? Si es así, ¿cómo? Quiero asegurarme de que no perderé mi instalación de Java 6 si ejecuto el archivo .dmg de Oracle.

6voto

yoliho Puntos 340

El Java 7 de Oracle no elimina el Java 6 suministrado por Apple. Sin embargo, cambia /usr/bin/java para iniciar el Java de Oracle.

Para iniciar un archivo jar con Java 6 en lugar de simplemente usar java en la línea de comandos, ingrese la ruta completa al java, por ejemplo /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java

0voto

tajmorton Puntos 145

Tuve una situación similar en el trabajo, así que investigué un poco y, con un par de minutos de configuración, puede ser casi indoloro cambiar entre Java 6 y 7 (o 7 y 8, por cierto, este método es agnóstico en cuanto a la versión).

Para cualquiera con java instalado, /usr/libexec/java_home mostrará el directorio JAVA_HOME, pero es especialmente poderoso cuando tienes múltiples versiones de java instaladas una al lado de la otra en OS X.

Usando la bandera -V, puedes ver todos los JVM instalados:

$ /usr/libexec/java_home -V
Máquinas virtuales de Java compatibles (3):
    1.7.0_67, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home
    1.6.0_65-b14-466.1, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-466.1, i386:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

También puedes obtener el valor de JAVA_HOME para un JVM específico de esta manera:

$ /usr/libexec/java_home -v 1.6
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
$ /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home

Juntando todo esto, esto es lo que añadí a mi ~/.profile:

## java home
alias j6="export JAVA_HOME=\$(/usr/libexec/java_home -v 1.6);echo 'usando Java 6'"
alias j7="export JAVA_HOME=\$(/usr/libexec/java_home -v 1.7);echo 'usando Java 7'"
## interruptor manual para 1.6 o 1.7
j6 ## habilitar java 6 (o simplemente ejecutar j6 en la terminal)
## j7 ## habilitar java 7 (o simplemente ejecutar j7 en la terminal)

Entonces puedes ver que en este momento, mi terminal se configura por defecto en Java6, pero puedo cambiar esto solo escribiendo j7 en la línea de comandos (o editando el ~/.profile):

$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)    
$ j7
usando Java 7
$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X