Sé que es posible tener varias versiones de Java en OS X, pero me resulta difícil entender cómo funciona.
Actualicé a Mountain Lion y ahora echo $JAVA_HOME
está vacío.
Sin embargo en/System/Library/Frameworks/JavaVM.framework/Versions/
1.4 1.5 1.6 A CurrentJDK
1.4.2 1.5.0 1.6.0 Current
Cuando entro en 1.4.2 y ejecuto java - version
o./java -version
Entorno de tiempo de ejecución Java(TM) SE (compilación 1.6.0 _33-b03-424-11M3720)
Entonces, ¿por qué se usan todas esas versiones si tienen la misma versión de Java?
Luego descargué el JDK 7 de Oracle y lo instalé.
¿Dónde se suele instalar un nuevo JDK?
Y última pregunta: ¿Cómo puedo elegir qué versión debe ejecutarse de forma predeterminada en todas las aplicaciones?
En Ganar. Configuré JAVA_HOME
el C:/ProgramFiles/Java/.…
que puse en Path: location to JAVA_HOME/bin
y eso es todo.
Para la mayoría de los casos de uso, CurrentJDK
debe proporcionar la funcionalidad de las versiones actuales y anteriores del JDK.
No todas las versiones anteriores, pero las versiones más comúnmente requeridas:
sh-3.2$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.8
BuildVersion: 12A269
sh-3.2$ ls -l /System/Library/Frameworks/JavaVM.framework/Versions
total 64
lrwxr-xr-x 1 root wheel 10 17 Jul 07:47 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 17 Jul 07:47 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 17 Jul 07:47 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 17 Jul 07:47 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 17 Jul 07:47 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 17 Jul 07:47 1.6.0 -> CurrentJDK
drwxr-xr-x 8 root wheel 272 17 Jul 07:48 A
lrwxr-xr-x 1 root wheel 1 17 Jul 07:47 Current -> A
lrwxr-xr-x 1 root wheel 59 17 Jul 07:47 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
sh-3.2$
Utilice las Preferencias de Java de la forma habitual.
Dependiendo de lo que haya instalado además de la distribución de Java de Apple, la primera pestaña de la utilidad puede aparecer un poco diferente.
Un ejemplo, sin las opciones familiares para applets y Java Web Start:
Hay algunas lecturas previas sobre cómo funciona esto en el nivel de la línea de comandos. La herramienta de línea de comandos java_home informa de esta configuración de preferencia.
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home
La aplicación de marcador de posición /usr/bin/java utiliza esta configuración para ejecutar la versión preferida de Java.
$ which java
/usr/bin/java
$ java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)
Finalmente, al configurar JAVA_HOME en un script de inicio para Tomcat o Maven, puede conectarse al sistema de preferencias:
export JAVA_HOME=`/usr/libexec/java_home`
Las respuestas en otros lugares tienen en cuenta que Java puede instalarse en varias rutas:
– pero para lo que se describe actualmente en la pregunta aquí, el JDK de Oracle en Mountain Lion, solo es probable una ruta .
Dado que Mac OS X 10.8.2 Build 12C60 Java Preferences ya no muestra las versiones anteriores.
Correr:
ls -l /Library/Java/JavaVirtualMachines
Se pueden usar otras rutas, pero para el JDK actual de Oracle, instalado en Mountain Lion, probablemente encontrará el .jdk
paquete en esa ruta.
graham perrin