Ответ 1
Скорее всего, export JAVA_HOME=/usr/bin/java
является виновником. Этот env var должен указывать на каталог установки JDK или JRE. Googling показывает, что лучшим вариантом для MacOS X является export JAVA_HOME=/Library/Java/Home
.
У меня жалкая проблема с 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
Скорее всего, export JAVA_HOME=/usr/bin/java
является виновником. Этот env var должен указывать на каталог установки JDK или JRE. Googling показывает, что лучшим вариантом для MacOS X является export JAVA_HOME=/Library/Java/Home
.
JAVA_HOME
не имя исполняемого файла java. Но из каталога был установлен java. Исполняемый файл должен быть $JAVA_HOME/bin/java
.
Команда which
не поможет вам. Это не даст вам java-сайт, но, скорее всего, это всего лишь оболочка или символическая ссылка на java, установленную в совершенно другом каталоге.
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
У меня возникла одна и та же проблема, и после прочтения этого сообщения я дважды проверил определение JAVA_HOME
в .bash_profile
. Это на самом деле:
export JAVA_HOME=$(which java)
что, как объясняет Anony-Mousse, является исполняемым. Измените его на:
export=/Library/Java/Home
устраняет проблему, все еще интересно понять, почему она так оценивается в файле профиля.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
так что я исправляю проблему.
Не работает этот метод для меня:
.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)