Почему путь "JAVA_HOME" отличается от "which java" и "Whereis java" - PullRequest
1 голос
/ 08 мая 2020

В bash_profile java_home установлен, как указано ниже

export JAVA_HOME = $ (/ usr / libexec / java_home)

команда "echo $ JAVA_HOME" дает путь ниже

/ Library / Java / JavaVirtualMachines / jdk1.8.0_241.jdk / Contents / Home

команда "which java" дает следующий путь

/ usr / bin / java

команда Где java укажите путь ниже

/ usr / bin / java

команда «ls -la / usr / bin / java» дает ссылка ниже

lrwxr-xr-x 1 root wheel 74 15 января 2019 г. / usr / bin / java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/ java

Почему java_home отличается от путей, возвращаемых командами «which java» и «Whereis java». Также почему / usr / bin / java связан с java в другом месте

1 Ответ

2 голосов
/ 08 мая 2020

Почему java_home отличается от путей, возвращаемых командами «which java» и «Whereis java». Также, почему / usr / bin / java связан с java в другом месте

JAVA_HOME - это переменная среды

Любая команда, запускаемая в оболочке / командной строке, будет просматриваться вверх в $ PATH

по умолчанию "/ usr / bin / *" находится в PATH

Чтобы получить ваши java и javac в PATH, вам нужно будет использовать следующие

export PATH=$JAVA_HOME/bin:$PATH

Это при установке в ваш bashr c или bash_profile всегда будет использовать java и связанные с ним исполняемые двоичные файлы из вашего JAVA_HOME. Не забудьте поместить это перед существующим путем, как показано выше.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...