¿Cómo puedo cambiar entre las dos versiones de Java en Mountain Lion ahora que las preferencias de Java han desaparecido?

32

Tengo dos versiones de Java instaladas con Mountain Lion:

La actualización de Apple elimina las preferencias de Java . En otra pregunta, alguien se pregunta sobre la eliminación de esa utilidad.

Mi pregunta es diferente:

  • ¿Cómo puedo cambiar entre las dos versiones ahora que las preferencias de Java han desaparecido?

Anteriormente utilicé la utilidad de Apple para configurar las preferencias de Java con facilidad. Sin esa utilidad, ¿hay una manera fácil y rápida?

Maverik
fuente
¿Hay alguna razón por la que no pueda reinstalar las Preferencias de Java ?
chharvey
@ TestSubject528491 ¿Cómo puedo hacer eso?
Maverik
Creo que esto te ayudará, aún no lo he probado en mi máquina. Vea los pasos 12 y 13 desde el siguiente enlace wikihow.com/Install-Oracle-Java-on-Ubuntu-Linux . Puede repetir los pasos para cambiar entre java ... espero que esto le ayude ...
Dilip Rajkumar
@DilipRajkumar Es para Linux ...
Maverik
Lo siento, asumí erróneamente que el comando de Linux funcionará en Mac ... Si tengo suerte con otra solución, sugeriré ...
Dilip Rajkumar

Respuestas:

12

Es posible que necesite dos enfoques:

  • uno para cambiar la versión solo del complemento de applet
  • otro enfoque para cambiar la versión para otras partes del JRE sin cambiar la versión para el complemento de applet.

Mi caso de uso reciente :

  • Java 8 para aplicaciones que no usan el complemento
  • Java 7 Update 9 para el complemento de applet.

Para cambiar el complemento de applet pero no otras partes del JRE / JDK de Java 8 a Java 7 Update 9

  1. salga de los navegadores web y cualquier otra aplicación que use Java o el complemento de applet de Java
  2. instalar JDK 8
  3. dejar de lado el complemento
  4. instale JRE 7 Update 9 o JDK 7 Update 09.

Dejando de lado: movimiento sugerido

sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /private/var/tmp

Si planea cambiar con frecuencia, puede preferir una ubicación temporal diferente.

Resultado

sh-3.2$ java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b58)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b02, mixed mode)
sh-3.2$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8.2
BuildVersion:   12C60

Al mismo tiempo:

Captura de pantalla de la verificación de Oracle de la versión Java en Safari

Para cambiar el complemento de applet pero no otras partes del JRE / JDK de Java 7 Update 9 a Java 6 Update 37

Respuestas bajo:


Para cambiar el JRE pero no el complemento de applet de Java 8 a Java 7 Update 9

Instale JDK 7 Update 09 y luego JDK 8

  • el sistema operativo y las aplicaciones usarán de manera predeterminada la mejor versión

Salga de cualquier aplicación que use Java. No es necesario salir del navegador.

Ponga a un lado el jdk1.8directorio ... de

/Library/Java/JavaVirtualMachines

  • el sistema operativo y las aplicaciones usarán Java 7 Update 9.

Para cambiar el JRE pero no el complemento de applet de Java 7 Update 9 a Java 6 Update 37

Salga de cualquier aplicación que use Java. No es necesario salir del navegador.

Ponga a un lado el jdk1.7directorio ... de

/Library/Java/JavaVirtualMachines

  • el sistema operativo y las aplicaciones usarán Java 6 Update 37.

Ejemplo

macbookpro08-centrim:~ gjp22$ java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
macbookpro08-centrim:~ gjp22$ sudo mv /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk /private/var/tmp
Password:
macbookpro08-centrim:~ gjp22$ 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)

En general

Para los usuarios de OS X, parte de lo que proporciona Oracle es inicialmente engañoso:

… y así.

Sencillez

Si bien nada de lo anterior es tan simple como cambiar con la aplicación Java Preferences previamente instalada por Apple, el enfoque relativamente simple de dejar de lado (sin necesidad de una desinstalación especial) recuerda el deseo de una instalación de arrastrar y soltar ... expresada anteriormente en El área openjdk-osx-build .

A alguien le gustaría construir una aplicación, pero no debería recomendar el uso de enlaces simbólicos: funcionaría, pero podría ser inconsistente con los futuros enfoques de instalación de arrastrar y soltar.

Notas al margen

En el momento de escribir este artículo, las versiones compatibles más recientes para las que Oracle pone a disposición del público las actualizaciones son (para plataformas que no sean OS X) Java 6 Update 37 y (para plataformas que incluyen OS X) Java 7 Update 9.

A medida que se publiquen mayores versiones, reinterprete esta respuesta en consecuencia.

La terminología de la versión de Java en esta respuesta está en línea con la terminología del Centro de ayuda de Java .

Graham Perrin
fuente
¿Realmente te estás refiriendo a Java 8 o es un error? :-)
Maverik
1
Realmente ;-) ... por favor vea las preguntas vinculadas, columna de la derecha.
Graham Perrin el
44
Aquí hay un consejo si está utilizando JDK8 y desea cambiar con frecuencia. Simplemente chmod 0000 el directorio JDK8 para apagarlo sudo chmod 0000 /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/y volver a encenderlo sudo chmod 0755 /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/.
Brett Ryan
1
La última sugerencia de @BrettRyan funcionó perfectamente para mí. Creo que es el camino más fácil.
Artem
1
¡Muchas gracias @BrettRyan que fue el más simple! Sugiero al autor de la respuesta que agregue una alternativa. He creado un .sh en mi carpeta de inicio con los comandos, y he creado un Automator vinculado a una tecla que cambia de uno a otro. ¡Asombroso!
Panthro
29

Abra una terminal use este comando:

/usr/libexec/java_home -v 1.6 

Puede cambiar el 1.6 a cualquier versión de java que desee usar y el comando mostrará la ubicación donde reside esa versión de java. (es decir: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home)

entonces puede configurar JAVA_HOME como lo haría normalmente con la salida del comando anterior. es decir:

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Entonces para simplificar; Algo como esto debería funcionar:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

recuerde verificar la versión con:

java -version

Espero eso ayude.

usuario2343996
fuente
44
Esta es la respuesta más útil a este problema que pude encontrar en cualquier lugar en línea. ¡GRACIAS!
SearchTools-Avi
1
Ok, ESTA debería ser la respuesta aceptada. Tengo un JAR de actualización obligatorio para un servidor de aplicaciones que he instalado y SOLO se ejecutará en Java 6. Utilizando esto, pude cambiar a Java 6, ejecutar el actualizador y luego volver a cambiar. Ahora puedo actualizar el servidor de aplicaciones para que se ejecute en Java 7.
Adrian J. Moreno
4

Parece que tendrá que hacerlo manualmente. La documentación de Oracle establece que solo se puede instalar un JRE a la vez .

Esta página de soporte de Apple describe cómo cambiar entre Apple SE 6 JRE y Oracle SE 7 JRE . Brevemente, para cambiar de JRE de Oracle a Apple, inicie la aplicación Terminal y escriba lo siguiente:

sudo mkdir -p /Library/Internet\ Plug-Ins/disabled

sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /Library/Internet\ Plug-Ins/disabled

sudo ln -sf /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

Hay más (y mejores) instrucciones en la página de soporte sobre cómo volver a cambiar Web Start a JRE 6 y cómo volver a cambiar todo a Oracle JRE 7 (reinstalar JRE).

No es tan simple como usar la utilidad Preferencias de Java, pero es mejor que nada.

dfjacobs
fuente
1
El uso reciente de Oracle del término JRE es engañoso para los usuarios de OS X. El JRE es mucho más que el complemento.
Graham Perrin el
2

basado en la respuesta del usuario2343996

alias java8="export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) && java -version"
alias java6="export JAVA_HOME=$(/usr/libexec/java_home -v 1.6) && java -version"
existeundelta
fuente
-4

¿Por qué necesita tener 2 versiones de Java instaladas?

Apple no tiene Java instalado como una actualización predeterminada (de Lion en adelante, creo). La mejor manera de verificar / instalar Java en una Mac es la siguiente:

  1. Terminal abierta Escriba "java" (sin las comillas, por supuesto)
  2. Si Java no está presente, obtendrá lo siguiente: "No hay Java Runtime presente, solicitando la instalación ..."
  3. Java comienza a instalarse normalmente (este es el ejecutable falso que inicia la instalación)
  4. Si tiene Java para verificar la versión, en el terminal escriba "versión-Java"

Si desea instalar una versión diferente de java: simplemente vaya al sitio oracle y descargue el jdk más nuevo / antiguo.

SashaZd
fuente
Ya tengo dos versiones de Java como escribí en la pregunta. Estoy preguntando cómo cambiar el predeterminado.
Maverik
Creo que cambia automáticamente a la última versión / última versión instalada. En mi caso instalé jdk 7 por último. Entonces ese es el que funciona por defecto.
SashaZd
3
Quiero poder cambiar entre versiones.
Maverik
Existen diferencias entre el Apple JDK 6 y el Oracle JDK 7 que pueden causar incompatibilidades, tanto en tiempo de compilación como en tiempo de ejecución.
JohnnyO
1
En general, no intentamos cambiar la premisa de alguien a menos que podamos ofrecer una alternativa competitiva o convincente cuando la respuesta es simplemente no. También desaconsejamos pedir votos, así que lo he editado de su respuesta.
bmike