En algunos términos esto es un malentendido, pero espero que se aclare pronto:
El JRE/JDK empaquetado por Apple se instala siempre en /System/Library/Frameworks/JavaVM.framework/Versions/Current
donde "Current" es un enlace que apunta a la versión actual. Por lo tanto, puede tener varias versiones instaladas y utilizar varias versiones en Xcode u otro IDE.
Oracle y sus instaladores instalan su JDK/JRE en /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
para el plugin del navegador web y el JRE/JDK completo en /Library/Java/JavaVirtualMachines/
.
Y además, los paquetes de software pueden venir con su propio paquete JDK/JRE. Por ejemplo, HP Peregrine Service Center lo hace.
Así que cuando cada aplicación viene con su propio JDK/JRE, hay que decir en alguna configuración cuál usar. En general, para todas las aplicaciones manejadas por el shell hay una variable de entorno que se suele establecer para esto y se llama JAVA_HOME. Programas como tomcat respetan esto.
Fíjate bien en esto:
endor-2:~ garex$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
1.8.0_45, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
1.7.0_71, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
Con el siguiente comando java_home se cambia permanentemente a Java 1.8 de 64 bits:
endor-2:~ garex$ java -fullversion
java full version "1.7.0_71-b14"
endor-2:~ garex$ /usr/libexec/java_home -v 1.8 -d64
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
endor-2:~ garex$ which java
/usr/bin/java
endor-2:~ garex$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
Pero recuerda: puedes hacerlo, pero no esperes que ciertos programas lo sigan. En mi caso instalé JRE y JDK.
Utilizando el comando java_home en su script de llamada puede configurar siempre la versión correcta para su aplicación, por ejemplo.
endor-2:~ garex$ /usr/libexec/java_home -v 1.8 -d64 -exec java -fullversion
java full version "1.8.0_45-b14"
endor-2:~ garex$ /usr/libexec/java_home -v 1.7.0 -d64 -exec java -fullversion
java full version "1.7.0_71-b14"
Para eliminar definitivamente la versión 1.7.x, lea https://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html
0 votos
¿Por qué no quieres sólo una? - Algunas aplicaciones sólo pueden usar Java 6 o Java 7 - ¿Cómo instalaste cada una de ellas? apple.stackexchange.com/a/112533/237 para algunos de los temas