
Интересно, предоставляет ли 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
кажется мне критически важным.
Ну, любые советы приветствуются. Спасибо.
решение1
Немного хакерски, но добавьте эту строку в свой файл /etc/profile
для настройки на уровне всей системы:
export JAVA_HOME=$(dirname $(dirname $(readlink -e /usr/bin/javac)))
решение2
Вы можете задать переменные окружения в /etc/environment
, которые настраиваются PAM. Также должны быть символические ссылки, /usr/lib/jvm
которые не меняются с младшими релизами.
JAVA_HOME=/usr/lib/jvm/java-6-sun
решение3
Если вы уверены, что команду «java» можно вызвать, разве это не сработает для вас?
export JAVA_HOME=$(dirname $(java -XshowSettings:properties -version 2>&1 | grep 'java\.home' | awk '{ print $3 }'))
решение4
Установить системный профиль пути
Отредактируйте системный файл Path /etc/profile
sudo gedit /etc/profile
Добавьте следующие строки в конец
JAVA_HOME=/usr/lib/jvm/jdk1.7.0
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
Дляhttp://javaandme.com/для полного руководства по установке.