¿Cómo instalar Java 7 junto a Java 6?

7

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

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 para el trabajo todavía están en Java 6. Así que me gustaría instalar Java 7 "en el lateral". ¿Es posible su? ¿Si es así, cómo? Quiero asegurarme de no perder la instalación de Java 6 si ejecuto el .dmg desde Oracle.

    
pregunta Wim Deblauwe 01.02.2013 - 17:57

2 respuestas

6

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 jar con Java 6 en lugar de usar java en la línea de comandos, coloque la ruta completa a java, es decir, /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java

    
respondido por el Mark 01.02.2013 - 18:27
0

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 indiferente alternar entre Java 6 y 7 (o 7 y 8, para eso importa - este método es la versión agnóstica).

Para cualquier persona con java instalado, /usr/libexec/java_home mostrará el directorio JAVA_HOME, pero es especialmente poderoso cuando tiene varias versiones de java instaladas una al lado de la otra en OS X.

Al utilizar el indicador -V , puede ver todos de las JVM instaladas:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (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 puede obtener el valor JAVA_HOME para una JVM específica como esta:

$ /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

Poniendo todo esto junto, esto es lo que agregué a mi ~ / .profile :

## java home
alias j6="export JAVA_HOME=\$(/usr/libexec/java_home -v 1.6);echo 'using Java 6'"
alias j7="export JAVA_HOME=\$(/usr/libexec/java_home -v 1.7);echo 'using Java 7'"
## manual switch for 1.6 or 1.7
j6 ## enable java 6 (or just run j6 in terminal)
## j7 ## enable java 7 (or just run j7 in terminal)

Así que puedes ver eso ahora, mi terminal está por defecto en Java6, pero puedo cambiar esto simplemente escribiendo j7 en la línea de comando (o editando ~ / .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
using 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)
    
respondido por el Jordan 22.02.2015 - 05:40

Lea otras preguntas en las etiquetas