Не удалось найти исполняемый файл в "/usr/bin/java/bin/java"

У меня проблема с Java на моем Mac (OS X 10.7.3). Раньше я устанавливал его, и он работал нормально. После некоторых изменений в файлах .bash_profile и .profile с течением времени у меня возникает ошибка, например, Unable to locate an executable at "/usr/bin/java/bin/java"всякий раз, когда я пытаюсь запустить «javac» или «java» в своем терминале.

echo $PATHдает вывод вроде:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/sabya/Documents/Play_Framework/play-2.0:/usr/X11/bin:/usr/local/git/bin:/usr/local/mysql/bin

Мой .bash_profile выглядит так:

alias start_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM start"
alias stop_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM stop"
export JAVA_HOME=/usr/bin/java

Он глючил меня несколько дней, и переустановка Java не помогла. Я новичок в Mac и мне нужна помощь, чтобы разобраться с этой проблемой. Я гуглил, прежде чем публиковать этот вопрос, но не нашел ничего подходящего.

Ответы (1)

Вероятно, вы можете просто удалить определение JAVA_HOME .bash_profileи перезапустить оболочку. Если вам действительно нужно установить переменную, используйте

export JAVA_HOME=$(/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home)

определить его динамически в зависимости от установленной версии JDK или

export JAVA_HOME=/Library/Java/Home

использовать место по умолчанию (которое символически связано с указанным выше путем).

Еще одна хитрость сработала. Я только что отредактировал .bash_profile и экспортировал JAVA_HOME как export JAVA_HOME=/Library/Java/Home . Это решило проблему.
Действительно :-) Это символическая ссылка, ведущая (после нескольких перенаправлений) туда же. Я расширил ответ соответственно.
Часто вам даже не нужен JAVA_HOME