Подтвердить что ты не робот

Не удалось найти исполняемый файл в папке "/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 и нуждаюсь в помощи, чтобы разобраться в этой проблеме.

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

Спасибо

Sabya

4b9b3361

Ответ 1

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

Ответ 2

JAVA_HOME не имя исполняемого файла java. Но из каталога был установлен java. Исполняемый файл должен быть $JAVA_HOME/bin/java.

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

Ответ 3

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

Ответ 4

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

export JAVA_HOME=$(which java)

что, как объясняет Anony-Mousse, является исполняемым. Измените его на:

export=/Library/Java/Home

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

Ответ 5

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

так что я исправляю проблему.

Ответ 6

Не работает этот метод для меня:

.bash_profile:

export PATH = "$ PATH: $ HOME/.composer/vendor/bin" экспорт JAVA_HOME = $ (который Java) экспорт PATH = $ JAVA_HOME/bin/java: $ PATH

Termninal:

Muhammads-MacBook-Pro-2: ~ shawalahmad $ sudo apt install --reinstall virtualbox-dkms & sudo apt install libelf-dev Пароль: невозможно найти исполняемый файл по адресу "/Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home/bin/apt" (-1)