Интересно, предоставляет ли сама Ubuntu общесистемный способ поиска тока JAVA_HOME
или есть правильное место для настройки JAVA_HOME
?
Mac OS X преуспевает в этом, поскольку /usr/libexec/java_home
команда возвращает текущее значение JAVA_HOME
. Но в Ubuntu материалы, которые я обнаружил, всегда указывали мне на $JAVA_PATH
указание статического пути, который хранится в ~/.bash_profile
.
Я думаю, однако, у этого подхода есть несколько недостатков:
- После обновления Java номер мини-версии изменится, что сделает статический путь более недоступным.
- После изменения JRE, используемого в моей системе с
update-alternatives
, я должен изменить$JAVA_HOME
в.bash_profile
. Эта дополнительная работа раздражает. - Некоторые
$JAVA_HOME
-обязательные программы, вообще не в курсе.bash_profile
. Я должен установить$JAVA_HOME
в их сценарий запуска, поэтому простой и простой способ получить$JAVA_HOME
мне кажется критически важным.
Ну, любой совет приветствуется. Спасибо.
export JAVA_HOME=$(dirname $(dirname $(readlink -e $(which javac))))
Вы можете установить переменные окружения
/etc/environment
, которые будут настроены PAM. Также должны быть символические ссылки,/usr/lib/jvm
которые не меняются с небольшими выпусками.источник
Установить путь системного профиля
Отредактируйте системный путь к файлу / etc / profile
Добавьте следующие строки в конец
Для http://javaandme.com/ для полного руководства по установке.
источник
Если вы уверены, что команда java может быть вызвана, разве это не сработает для вас?
источник
$JAVA_HOME
всей системы, а не только в текущей оболочке.Принятое решение пользователя u131342 предполагает, что на сервере определенно установлена Java. В случае, если вы добавите это в централизованный скрипт для многих серверов, это выдаст несколько ошибок, таких как:
Чтобы избежать этого и установить JAVA_HOME, только если на сервере есть среда Java, небольшое улучшение:
Я также включил изменения из SimonB,
which
чтобы найти место установки.источник
/etc/environment
?