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をインストールせずにこれを機能させる方法はありますか?
回答:
JDK 7は/Library/Java/JavaVirtualMachines/1.7.0.jdkに、JDK 6は/ System / Library / Java / JavaVirtualMachinesにインストールされます。
OS 6にJava 6のインストールを提案する代わりにJava 7を受け入れるようにするには、単純なシンボリックリンクで十分です。
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 Programmsは、Java 6をインストールすることなく、この小さなハックで実行されます。OSXのJava Preferences(および他の一部)は、起動時にJVMのバージョンを明示的にチェックするようには見えません。
/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk
; それ以外の場合、指示は正常に機能しました。
注:本当にjava6を必要とし、java7で動作しないものがある場合は、java7のインストールを保留することができます。その理由は、以下で説明するように、7 pkgは一部のapple-6-javaアイテムをいじるので、6と7の両方を同じmacintoshに保持しようとするのは少し難しいかもしれないからです。そのため、これを展開する前に、同じ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のプレインストールシェルスクリプトは、以下の警告なしに、Apple pref-pane(およびプラグイン)を単に削除します。
#!/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}"
あなたは正しい軌道に乗っています...
…質問で説明されているように、インストールのプロンプトが表示されます。
したがって、私の短い答えはイエスです。Java7を単独で使用できます。ただし、Java 6がインストールされているわけではありません。
試してください:
以下の2つのディレクトリから、不要になったJavaのバージョンを削除します。
/ライブラリ/ Java / JavaVirtualMachines
/ System / Library / Java / JavaVirtualMachines
(このような場合は、/System
物事に干渉しないように、通常のアドバイスを無視しても安全です。)