Установка JAVA_HOME в Linux для всех пользователей: руководство
Быстрый ответ
Для задания переменной JAVA_HOME
всем пользователям системы нужно внести изменения в файл /etc/environment
:
sudo sh -c 'echo JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 >> /etc/environment'
Чтобы изменения вступили в силу, выполните следующую команду:
source /etc/environment
Либо задайте переменную с помощью файла java_home.sh
, который находится в /etc/profile.d
:
sudo sh -c 'echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" > /etc/profile.d/java_home.sh'
Проверить корректность установки можно с помощью команды:
echo $JAVA_HOME && echo $PATH
Как определить путь установки Java
Путь установки Java может отличаться. Вы могли установить Java на свой компьютер в другую директорию. Определить путь установки можно так:
find /usr/lib/jvm/ -name "java-*" -type d
Используйте найденный путь при установке JAVA_HOME
, следуя инструкциям выше.
Как сделать обновление JAVA_HOME мгновенным
Хотите, чтобы изменения вступали в силу немедленно, не требуя перезагрузки сессии? Просто выполните целевую команду:
source /etc/profile
Для обновления JAVA_HOME
в реальном времени добавьте в файл java_home.sh
строку:
export JAVA_HOME=$(readlink -f /usr/bin/javac | sed 's:/bin/javac::')
Это позволит обновить путь JAVA_HOME
сразу после обновления Java.
Как работать с несколькими версиями Java
Если у вас установлено несколько версий Java, вы можете воспользоваться командой update-alternatives
и настроить JAVA_HOME
следующим образом:
update-alternatives --config java
Права доступа для исполняемого скрипта
Для исполнения скриптов из директории /etc/profile.d/
требуются соответствующие права:
sudo chmod +x /etc/profile.d/java_home.sh
В результате выполнения данных действий все пользователи получат доступ к среде Java.
Визуализация
Установка JAVA_HOME
может быть описана как поиск сокровища:
1. Создайте "карту сокровищ": `sudo nano /etc/profile.d/jdk.sh`
2. Откройте "сундук с сокровищами": `export JAVA_HOME=/path/to/java`
3. Отправьте "сокровище искателям": `export PATH=$PATH:$JAVA_HOME/bin`
4. Приведите "карту" в порядок: `sudo chmod +x /etc/profile.d/jdk.sh`
5. Теперь каждый "искатель приключений" при старте системы будет иметь эту "карту"!
Таким образом, каждый пользователь будет осведомлён о JAVA_HOME
при входе в систему.
Синхронизация через профайлы для единообразного пользовательского опыта
Переменная JAVA_HOME
должна быть определена одинаково в файле .bashrc
и /etc/profile
для обеспечения комфортной работы:
echo "export JAVA_HOME=$JAVA_HOME" >> ~/.bashrc
echo "export PATH=$PATH:$JAVA_HOME/bin" >> ~/.bashrc
source ~/.bashrc
Таким образом, мы настраиваем среду для интерактивных оболочек и отдельных пользователей.
Корректное взаимодействие Java и Maven
Неправильно установленная переменная JAVA_HOME
может привести к ошибкам при сборке с Maven. Чтобы этого избежать, убедитесь, что Maven использует верный путь JAVA_HOME
:
mvn -version
Путь, указанный в JAVA_HOME
, должен соответствовать пути, выводимому этой командой.
Полезные материалы
- Установка JDK и настройка JAVA_HOME – официальное руководство от Oracle по настройке переменной
JAVA_HOME
для Unix-систем. - EnvironmentVariables – Community Help Wiki – подробная инструкция по настройке переменной окружения
JAVA_HOME
на Ubuntu. - Tutorial | DigitalOcean – руководство от DigitalOcean по установке
JAVA_HOME
на Ubuntu. - Java – ArchWiki — полное руководство по настройке
JAVA_HOME
на Arch Linux на ArchWiki. - IBM Developer — учебник от IBM по установке
JAVA_HOME
на UNIX-системах.