Mountain Lion con Java 7 solamente

38

Realicé una instalación limpia de Mountain Lion e instalé JDK7.

java -version en la Terminal devuelve java version "1.7.0_05" correctamente, aún las Preferencias de Java y algunos otros programas de Java (como Eclipse) dan como resultado indicaciones para instalar Java SE 6.

Puedo iniciar Eclipse perfectamente desde la línea de comandos con Java 7.

¿Hay alguna manera de hacer que esto funcione sin tener que instalar Java 6?

    
pregunta Nicolas 28.07.2012 - 23:12

3 respuestas

27

JDK 7 se instalará en /Library/Java/JavaVirtualMachines/1.7.0.jdk, JDK 6 en / System / Library / Java / JavaVirtualMachines.

Para engañar a OS X para que acepte Java 7 en lugar de proponer instalar Java 6, basta con un simple enlace simbólico:

sudo mkdir /System/Library/Java/JavaVirtualMachines
sudo ln -s /Library/Java/JavaVirtualMachines/1.7.0.jdk /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

La mayoría de los programas Java se ejecutarán con este pequeño truco sin la necesidad de instalar Java 6. Las Preferencias de Java de OS X (y quizás otras) no lo harán, ya que parece que comprueba explícitamente la versión de la JVM cuando se inicia.

    
respondido por el Nicolas 01.08.2012 - 09:31
4

Nota: si tienes algo que realmente necesita java6 y no funciona con java7, es posible que desees suspender la instalación de java7. La razón es que podría ser un poco difícil tratar de mantener tanto el 6 como el 7 en la misma Macintosh, ya que el paquete de 7 hace algunos problemas con algunos de los elementos de Apple-6-Java, como se detalla a continuación. Por lo tanto, estaré buscando instrucciones paso a paso para mantener 6 y 7 en la misma Mac antes de implementar esto ... Ver también enlace el 18 de octubre de 2012.

DETALLES El script de shell de preinstalación en jre-7u9-macosx-x64.dmg simplemente elimina el panel de Apple (así como el complemento), sin advertencia, a continuación.

#!/bin/bash
PLUGIN_BASEDIR=/Library/Internet\ Plug-Ins
PLUGIN_NAME=${PLUGIN_BASEDIR}/JavaAppletPlugin.plugin
MKDIR='which mkdir'
RM=/bin/rm
# Remove the symlink before installation forcing ystem Preferences.app to refresh its cache
PREF_PANE_NAME=JavaControlPanel.prefpane
PREF_PANE_DEST=/Library/PreferencePanes/
# Actually removes the symlink
if [[ -h "${PREF_PANE_DEST}/${PREF_PANE_NAME}" ]]; then
     ${RM} -rf "${PREF_PANE_DEST}/${PREF_PANE_NAME}"
fi
# Create the /Library/Internet Plug-Ins if not present
if [[ ! -d "${PLUGIN_BASEDIR}" ]]; then
     ${MKDIR} -p "${PLUGIN_BASEDIR}"
fi
# If Apple's plugin is present, then delete it
if [[ -h "${PLUGIN_NAME}" ]] && [[ -d "${PLUGIN_NAME}" ]]; then
    ${RM} -rf "${PLUGIN_NAME}"
fi

=== Y el script posterior a la instalación configura un enlace simbólico ===

#!/bin/bash
LN='which ln'
CHOWN='which chown'
PLUGIN_FILEPATH=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
PREF_PANE_NAME=JavaControlPanel.prefpane
PREF_PANE_SRC=/Library/Internet\ Plug-       Ins/JavaAppletPlugin.plugin/Contents/Home/lib/deploy/JavaControlPanel.prefpane
PREF_PANE_DEST=/Library/PreferencePanes/
if [ ! -h "${PREF_PANE_DEST}/${PREF_PANE_NAME}" ]; then
    ${LN} -s "${PREF_PANE_SRC}" "${PREF_PANE_DEST}"
fi
${CHOWN} -R root:wheel "${PLUGIN_FILEPATH}"
    
respondido por el vanilla 22.10.2012 - 17:53
-2

Mountain Lion con Java 7 solo

Estás en el camino correcto ...

Sin instalar Java 6

... se espera que se instale la instalación, como se describe en la pregunta.

Así que mi respuesta corta es sí, puedes tener Java 7 solo; pero no sin una instalación de Java 6.

Prueba:

  1. permitir la instalación de Java de Java
  2. elimine, de los dos directorios a continuación, las versiones de Java que ya no son necesarias:

    / Library / Java / JavaVirtualMachines

    / System / Library / Java / JavaVirtualMachines

(En un caso como este, creo que puede ignorar de forma segura los consejos habituales para no interferir con /System ).

    
respondido por el Graham Perrin 31.07.2012 - 00:36

Lea otras preguntas en las etiquetas