Ich habe eine Neuinstallation von Mountain Lion durchgeführt und JDK7 installiert.
java -version
in Terminal java version "1.7.0_05"
korrekt zurückgibt, führen Java-Einstellungen und einige andere Java-Programme (z. B. Eclipse) immer noch zu Aufforderungen, Java SE 6 zu installieren.
Ich kann Eclipse perfekt von der Kommandozeile mit Java 7 starten.
Gibt es eine Möglichkeit, dies zum Laufen zu bringen, ohne Java 6 installieren zu müssen?
JDK 7 wird unter /Library/Java/JavaVirtualMachines/1.7.0.jdk installiert, JDK 6 unter /System/Library/Java/JavaVirtualMachines.
Um OS X dazu zu bringen, Java 7 zu akzeptieren, anstatt vorzuschlagen, Java 6 zu installieren, reicht ein einfacher Symlink:
sudo mkdir /System/Library/Java/JavaVirtualMachines
sudo ln -s /Library/Java/JavaVirtualMachines/1.7.0.jdk /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
Die meisten Java-Programme werden mit diesem kleinen Hack ausgeführt, ohne dass Java 6 installiert werden muss. Die Java-Einstellungen von OS X (und vielleicht einige andere) werden dies nicht tun, da es scheint, dass die Version der JVM explizit überprüft wird, wenn sie gestartet wird.
/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk
; ansonsten hat die Anleitung funktioniert.Hinweis: Wenn Sie etwas haben, das wirklich Java6 benötigt und nicht mit Java7 funktioniert, sollten Sie die Installation von Java7 zurückstellen. Der Grund dafür ist, dass es ein wenig schwierig sein könnte, sowohl 6 als auch 7 auf demselben Macintosh zu halten, da das 7-Paket einige der Apple-6-Java-Elemente durcheinander bringt, wie unten beschrieben. Also werde ich nach einer Schritt-für-Schritt-Anleitung suchen, wie man 6 und 7 auf demselben Mac behält, bevor ich das einführe ... Siehe auch http://reviews.cnet.com/8301-13727_7-57533880-263/ java-preferences-missing-after-latest-os-x-java-update/ am 18. Oktober 2012.
DETAILS Das Vorinstallations-Shell-Skript in jre-7u9-macosx-x64.dmg entfernt einfach das Apple-Voreinstellungsfenster (sowie das Plug-in) ohne Warnung unten.
#!/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
=== Und das Post-Install-Skript richtet einen Symlink ein ===
#!/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}"
Du bist auf dem richtigen Weg …
… Aufforderungen zur Installation, wie in der Frage beschrieben, zu erwarten sind.
Meine kurze Antwort lautet also ja, Sie können Java 7 allein haben; aber nicht ohne eine Installation von Java 6.
Versuchen:
Entfernen Sie aus den beiden folgenden Verzeichnissen die Version(en) von Java, die nicht mehr benötigt werden:
/Library/Java/JavaVirtualMachines
/System/Library/Java/JavaVirtualMachines
(Für einen Fall wie diesen können Sie den üblichen Ratschlag, sich nicht einzumischen, getrost ignorieren /System
.)
Gentmatt
mmmmmm
Thorbjørn Ravn Andersen
Donal Fellows