Mountain Lion solo con Java 7

38

Ho eseguito un'installazione pulita di Mountain Lion e installato JDK7.

java -version in Terminale restituisce java version "1.7.0_05" correttamente, ancora le Preferenze Java e alcuni altri programmi Java (come Eclipse) danno come risultato l'installazione di Java SE 6.

Posso avviare Eclipse perfettamente dalla riga di comando con Java 7.

C'è un modo per farlo funzionare senza dover installare Java 6?

    
posta Nicolas 28.07.2012 - 23:12
fonte

3 risposte

27

JDK 7 verrà installato in /Library/Java/JavaVirtualMachines/1.7.0.jdk, JDK 6 in / System / Library / Java / JavaVirtualMachines.

Per ingannare OS X ad accettare Java 7 invece di proporre di installare Java 6 è sufficiente un semplice link simbolico:

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 maggior parte dei programmi Java verrà eseguita con questo piccolo trucco senza la necessità di installare Java 6. Le Preferenze Java di OS X (e forse anche altre) non sembreranno controllare esplicitamente la versione di JVM quando viene avviata.

    
risposta data 01.08.2012 - 09:31
fonte
4

Nota: se hai qualcosa che ha davvero bisogno di java6 e non funzionerà con java7, allora potresti voler aspettare l'installazione di java7. La ragione è che potrebbe essere un po 'complicato cercare di mantenere sia il 6 che il 7 sullo stesso Macintosh, dato che il 7 pkg fa qualche scherzo con alcuni degli elementi di apple-6-java, come spiegato di seguito. Quindi, cercherò alcune istruzioni passo passo su come mantenere 6 e 7 sullo stesso Mac prima di lanciarlo ... Vedi anche link in data 18 ottobre 2012.

DETTAGLI Lo script di shell preinstallato in jre-7u9-macosx-x64.dmg rimuove solo il pref-riquadro di Apple (e anche il plug-in), senza preavviso, di seguito.

#!/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

=== E lo script di post installazione imposta un link simbolico ===

#!/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}"
    
risposta data 22.10.2012 - 17:53
fonte
-2

Mountain Lion con Java 7 da solo

Sei sulla strada giusta ...

Senza installare Java 6

... richiede di installare, come descritto nella domanda, sono da aspettarsi.

Quindi la mia risposta breve è sì, puoi avere Java 7 da solo; ma non senza un'installazione di Java 6.

Prova:

  1. consente l'installazione di Java di Java
  2. rimuovere, dalle due sottostanti, le versioni di Java che non sono più richieste:

    / Library / Java / JavaVirtualMachines

    / System / Library / Java / JavaVirtualMachines

(Per un caso come questo, penso che puoi tranquillamente ignorare il solito consiglio di non interferire con /System roba.)

    
risposta data 31.07.2012 - 00:36
fonte

Leggi altre domande sui tag