Вы можете выполнить Java, потому что команда находится на вашем пути.
echo $PATH
покажет вам, какие каталоги ищутся, в каком порядке найти конкретную программу.Поскольку /usr/bin
находится на вашем пути, когда вы наберете java
, в конечном итоге вы увидите /usr/bin/java
.Обратите внимание, что во многих системах это символическая ссылка (файл, который указывает на другой файл), поэтому /usr/bin/java
часто указывает на /etc/alternatives/java
(который также является символической ссылкой, указывающей на реальный исполняемый файл).
То, где переменная окружения JAVA_HOME
вступает в игру, находится в инструментах и программах, которые проверяют наличие JAVA_HOME
и действуют на него, а не полагаясь на путь.В большинстве современных систем Linux работа, выполняемая подсистемой альтернатив, заменяет более раннюю (более проблемную) методику JAVA_HOME
.Тем не менее, вы, возможно, захотите установить JAVA_HOME
в любом случае, если вы столкнетесь с инструментом, который требует его.
Одна из причин, по которой JAVA_HOME
не так популярна, как могла бы быть, заключается в том, чтобы получить доступ к JAVA_HOME
вамнеобходимо запустить оболочку, и не каждый хочет обернуть каждый элемент Java в команду оболочки.