Ubuntu: где хранится переменная окружения java_home
Я установил Java с помощью этих команд:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo update-java-alternatives -s java-7-oracle
Если я правильно понял, эти команды выше гарантируют, что Java будет обновляться автоматически. Я успешно использую Eclipse, STS и Tomcat, а затем считаю, что java правильно установлен вместе со своей средой.
Но я хочу знать, где находится среда java_home. Я старался:
gedit /etc/environment
Я нашел:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$GRADLE_HOME/bin" GRADLE_HOME="/opt/gradle/gradle-1.6"
whereis java
(Я считаю, что это просто файл найти)java: /usr/bin/java /usr/bin/X11/java /usr/share/java /usr/share/man/man1/java.1.gz
gedit ~/.pam_environment
Но это совершенно пустоgedit ~/.bashrc
и послеgedit .profile
(Я считаю, что это просто файлы сценариев, которые запускаются при запуске linux). Но я не нашел ни одной строки с "Java".printenv JAVA_HOME
(Я полагаю, что это печатает только переменные, установленные экспортом, и это действительно только для того сеанса, который вы установили) Но ничего не печаталось.
Я новичок в Linux. Может ли кто-нибудь помочь мне найти, где находится среда java в моей системе, и, пожалуйста, откорректировать любые неверные мнения, которые я написал ранее?
4 ответа
Ты можешь использовать
grep JAVA_HOME /etc/environment /etc/bash.bashrc /etc/profile.d/* /etc/profile
В моем случае после установки java из ppa webupd8team в Ubuntu 18.04 скрипты с настройкой и экспортом переменной JAVA_HOME находятся в
/etc/profile.d/jdk.csh:setenv JAVA_HOME /usr/lib/jvm/java-8-oracle
/etc/profile.d/jdk.sh:export JAVA_HOME=/usr/lib/jvm/java-8-oracle
При установке java с ppa webupd8team вам необходимо установить переменную среды JAVA_HOME самостоятельно. Вы можете сделать это разными способами. Как я это сделал так:
Запустить
sudo update-alternatives --config java
Команда, чтобы получить список установок Java. Он также будет отображать расположение исполняемого файла Java. например/usr/lib/jvm/java-8-oracle/jre/bin/java
,Из используемой установки Java выберите путь до
jre
, например/usr/lib/jvm/java-8-oracle/
, Это станет вашим путем JAVA_HOME.Затем отредактируйте файл ~/.bashrc и добавьте следующую строку:
export JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
,Перезапустите терминал или введите
bash
,
Это должно установить переменную среды JAVA_HOME.
У меня сейчас нет Ubuntu с Java, но я делал это в прошлом. http://www.janosgyerik.com/installing-java-and-setting-java_home-in-ubuntu/
редактировать /etc/jvm
, добавьте эту строку в начало списка: /path/to/your/jvm
, что в вашем случае, вероятно, /usr/lib/jvm/java-7-oracle
но вы должны проверить, может быть, locate
java-7-oracle` может помочь.
Благодаря вышеуказанному шагу java
исполняемый файл найдет нужную версию Java. Вы можете подтвердить это, выполнив команду:
java -version
Однако настройка JAVA_HOME
это другое дело. Эти команды работали в моей старой версии Ubuntu, чтобы обнаружить + установить + подтвердить JAVA_HOME
:
. /usr/share/java-common/java-common.sh
eval $(jvm_config)
export JAVA_HOME
echo $JAVA_HOME
Если вывод выглядит хорошо, добавьте эти строки в ваш ~/.bashrc
или же ~/.profile
,
Он находится по адресу /etc/bash.bashrc. Вы правы: использование репозитория ppa гарантирует, что Java будет обновляться автоматически при обновлении системы.