it-swarm.com.ru

Невозможно найти исполняемый файл в "/ usr/bin/Java/bin/Java" (-1)

У меня жалкая проблема с Java в моем Mac OSX 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

Вывод which Java

/usr/bin/Java

Это мешало мне долгие дни, а удаление и установка Java не помогли мне везти.

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

Погуглил и увидел SOF, прежде чем опубликовать этот вопрос, но не нашел ничего конкретного для моей проблемы.

Спасибо 

Sabya

41
Sabya

Безусловно, export Java_HOME=/usr/bin/Java является виновником. Этот env var должен указывать на каталог установки JDK или JRE. Поиск в Google показывает, что лучшим вариантом для MacOS X является export Java_HOME=/Library/Java/Home.

80
Alexander Pavlov

Java_HOME is не имя исполняемого файла Java . Но из каталога, в котором была установлена ​​Java. Исполняемый файл должен быть $Java_HOME/bin/Java.

Команда which там вам не поможет. Это не даст вам дома Java, но, скорее всего, это всего лишь оболочка или символическая ссылка на Java, установленная в совсем другом каталоге.

10
Anony-Mousse
export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

Так как:

 $ find /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home -name Java*
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/Java
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javac
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javadoc
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javafxpackager
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javah
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javap
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javapackager
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/javafx-src.Zip
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/bin/Java
8
abc

у меня возникла та же проблема, и после прочтения этого поста я дважды проверил определение Java_HOME в .bash_profile. Это на самом деле:

export Java_HOME=$(which Java)

это, как объясняет Anony-Mousse , является исполняемым файлом. Меняя это на:

export=/Library/Java/Home

устраняет проблему, но все еще интересно понять, почему это так оценивается в файле профиля.

0
Bruno Ripa