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. Я старался:

  1. 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"
    
  2. whereis java (Я считаю, что это просто файл найти)

    java: /usr/bin/java /usr/bin/X11/java /usr/share/java /usr/share/man/man1/java.1.gz
    
  3. gedit ~/.pam_environment Но это совершенно пусто

  4. gedit ~/.bashrc и после gedit .profile (Я считаю, что это просто файлы сценариев, которые запускаются при запуске linux). Но я не нашел ни одной строки с "Java".

  5. 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 самостоятельно. Вы можете сделать это разными способами. Как я это сделал так:

  1. Запустить sudo update-alternatives --config java Команда, чтобы получить список установок Java. Он также будет отображать расположение исполняемого файла Java. например /usr/lib/jvm/java-8-oracle/jre/bin/java,

  2. Из используемой установки Java выберите путь до jre, например /usr/lib/jvm/java-8-oracle/, Это станет вашим путем JAVA_HOME.

  3. Затем отредактируйте файл ~/.bashrc и добавьте следующую строку:export JAVA_HOME="/usr/lib/jvm/java-8-oracle/",

  4. Перезапустите терминал или введите 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 но вы должны проверить, может быть, locatejava-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 будет обновляться автоматически при обновлении системы.

Другие вопросы по тегам