我执行了Mountain Lion的全新安装并安装了JDK7。
java -version
在“终端”中java version "1.7.0_05"
正确返回后,仍然使用Java Preferences和其他Java程序(例如Eclipse)会提示您安装Java SE 6。
我可以使用Java 7从命令行完美地启动Eclipse。
有没有办法无需安装Java 6就可以使它正常工作?
我执行了Mountain Lion的全新安装并安装了JDK7。
java -version
在“终端”中java version "1.7.0_05"
正确返回后,仍然使用Java Preferences和其他Java程序(例如Eclipse)会提示您安装Java SE 6。
我可以使用Java 7从命令行完美地启动Eclipse。
有没有办法无需安装Java 6就可以使它正常工作?
Answers:
JDK 7将安装在/Library/Java/JavaVirtualMachines/1.7.0.jdk下,而JDK 6将安装在/ System / Library / Java / JavaVirtualMachines下。
要欺骗OS X接受Java 7而不是建议安装Java 6,只需一个简单的符号链接即可:
sudo mkdir /System/Library/Java/JavaVirtualMachines
sudo ln -s /Library/Java/JavaVirtualMachines/1.7.0.jdk /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
大多数Java程序都可以通过这种小技巧运行,而无需安装Java6。OS X的Java偏好设置(可能还有其他一些)不会启动,因为它似乎在启动JVM时会明确检查其版本。
/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk
;否则说明可以正常工作。
注意:如果您确实需要Java6且不能与Java7一起使用,那么您可能希望推迟安装Java7。原因是尝试将6和7都保留在同一个macintosh上可能有些棘手,因为7 pkg会破坏一些apple-6-java项目,如下所述。因此,在推出该产品之前,我将寻找一些有关在同一Mac上保留6和7的分步说明。另请参见http://reviews.cnet.com/8301-13727_7-57533880-263/ java-preferences-missing-after-latest-os-x-java-update /于2012年10月18日。
详细信息jre-7u9-macosx-x64.dmg中的预安装shell脚本在没有警告的情况下仅删除了Apple pref窗格(以及插件),如下所示。
#!/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
===并且安装后脚本设置了符号链接===
#!/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}"
您在正确的道路上……
…如问题所述,提示安装。
所以我的简短回答是,您可以单独拥有Java 7。但并非没有安装Java 6。
尝试:
从下面的两个目录中删除不再需要的Java版本:
/图书馆/ Java / JavaVirtualMachines
/系统/库/ Java / JavaVirtualMachines
(对于这种情况,我认为您可以放心地忽略通常的建议,以免干扰/System
物品。)