
Для уточнения пути к установленной Java используется команда which java. Она показывает абсолютный путь к исполняемому файлу Java, например /usr/bin/java, что позволяет убедиться, что система использует нужную версию, особенно при наличии нескольких JDK.
Если требуется проверить версию компилятора, следует применять команду javac -version. Она возвращает версию Java Development Kit, используемого для компиляции приложений. Совмещение java -version и javac -version обеспечивает полное понимание окружения Java на конкретной системе Linux.
Узнать установленную версию Java с помощью java -version

Для выполнения откройте терминал и введите:
java -version
openjdk version "17.0.6" 2023-01-17
OpenJDK Runtime Environment (build 17.0.6+10)
OpenJDK 64-Bit Server VM (build 17.0.6+10, mixed mode, sharing)
В первой строке указана основная версия Java, во второй – информация о среде выполнения, в третьей – данные о JVM, включая разрядность.
Если команда возвращает ошибку command not found, Java не установлена или не добавлена в PATH. В этом случае необходимо установить пакет openjdk или проверить переменные окружения.
Для систем с несколькими версиями Java используйте update-alternatives --config java, чтобы определить, какая версия активна при вызове java -version.
Команда java -version подходит как для OpenJDK, так и для Oracle JDK и является самым быстрым способом получить точные сведения о версии Java на Linux.
Проверка версии JDK через javac -version

Команда javac -version используется для определения установленной версии компилятора Java Development Kit (JDK) в Linux. Она отображает точную версию JDK, что важно для сборки и компиляции приложений.
Пример использования в терминале:
$ javac -version
javac 17.0.8
Где 17.0.8 – установленная версия JDK.
Рекомендации по проверке версии:
- Убедитесь, что JDK установлен:
sudo apt install openjdk-17-jdkили аналогичная команда для вашего дистрибутива. - Используйте полное имя команды
javac, если есть несколько версий JDK:/usr/lib/jvm/java-17-openjdk/bin/javac -version. - Сравнивайте версию с требованиями проекта. Например, если проект требует JDK 17 и выше, версия ниже 17 будет несовместима.
Ошибки при выполнении javac -version:
command not found– JDK не установлен или путь не добавлен вPATH.- Несоответствие версий между
java -versionиjavac -version– может указывать на установку нескольких JDK.
После успешной проверки рекомендуется зафиксировать переменные окружения:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
Это гарантирует, что команда javac будет использовать нужную версию JDK во всех терминальных сессиях.
Определение пути установки Java командой which
Команда which позволяет точно определить расположение исполняемого файла Java в системе Linux. Для этого откройте терминал и выполните команду:
which java
В ответ терминал выведет полный путь к исполняемому файлу, например: /usr/bin/java или /usr/local/bin/java. Этот путь указывает на используемую в системе версию Java и облегчает настройку переменных окружения, таких как JAVA_HOME.
Если команда which java не возвращает путь, значит Java не установлена или ее бинарные файлы не добавлены в системный PATH. В этом случае необходимо проверить наличие установленных пакетов с помощью rpm -qa | grep java или dpkg -l | grep java в зависимости от дистрибутива.
Для получения точного пути к конкретной версии можно использовать команду readlink -f $(which java). Она покажет реальное расположение исполняемого файла, обходя символические ссылки, что особенно важно при наличии нескольких версий Java.
Использование which совместно с readlink -f позволяет точно определить активную версию Java и корректно настроить переменные окружения для приложений и скриптов, требующих конкретную версию JDK или JRE.
Использование update-alternatives для выбора версии Java
В Linux `update-alternatives` позволяет управлять несколькими установленными версиями Java и переключаться между ними без удаления пакетов.
Основные команды для работы с Java через `update-alternatives`:
sudo update-alternatives --config javac– аналогично, но для компилятора Java.update-alternatives --list java– показывает полный путь ко всем установленным версиям Java.
Выберите версию Java для использования по умолчанию: 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1 /usr/lib/jvm/java-8-openjdk-amd64/bin/java * 2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java Введите номер выбора:
Для систем, где используется несколько утилит Java, рекомендуется синхронизировать версии для всех компонентов:
- Переключить основной исполняемый файл Java:
sudo update-alternatives --config java - Переключить компилятор:
sudo update-alternatives --config javac - При необходимости обновить
javawsилиjavadoc> аналогичным способом
Для автоматической настройки всех компонентов одной версией можно использовать команду:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1 \ --slave /usr/bin/javac javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac \ --slave /usr/bin/javadoc javadoc /usr/lib/jvm/java-17-openjdk-amd64/bin/javadoc
Эта конфигурация гарантирует согласованность версий Java, компилятора и документации.
Просмотр всех установленных версий Java на системе

Для точного определения всех установленных версий Java в Linux используется команда update-alternatives. Она отображает список всех доступных бинарных файлов java и javac с их путями:
sudo update-alternatives --config java
| Путь | Приоритет | Статус |
|---|---|---|
| /usr/lib/jvm/java-11-openjdk-amd64/bin/java | 1111 | * |
| /usr/lib/jvm/java-17-openjdk-amd64/bin/java | 1711 |
Для проверки всех версий компилятора Java используется аналогичная команда:
sudo update-alternatives --config javac
update-java-alternatives --list
| JDK | Путь |
|---|---|
| java-1.11.0-openjdk-amd64 | /usr/lib/jvm/java-11-openjdk-amd64 |
| java-1.17.0-openjdk-amd64 | /usr/lib/jvm/java-17-openjdk-amd64 |
Для быстрого поиска установленных версий можно просмотреть директорию /usr/lib/jvm/:
ls -l /usr/lib/jvm/
Это позволяет увидеть все пакеты JDK/JRE на системе и их точные пути, что полезно при настройке переменной окружения JAVA_HOME для конкретной версии.
Проверка версии Java в переменной окружения JAVA_HOME

Для точного определения версии Java, используемой системой, можно проверить переменную окружения JAVA_HOME. Она указывает путь к установленной JDK или JRE, который используется по умолчанию.
В терминале выполните команду:
echo $JAVA_HOME
Чтобы узнать версию Java из этой директории, используйте команду:
$JAVA_HOME/bin/java -version
Результат покажет точную версию, включая номер сборки, например:
openjdk version "17.0.8" 2023-07-18
Если переменная JAVA_HOME не установлена или путь некорректен, команда вернёт ошибку command not found. В этом случае настройте переменную через:
export JAVA_HOME=/путь/к/jdk
и проверьте доступность командой echo $JAVA_HOME. Это гарантирует, что все приложения и скрипты, использующие JAVA_HOME, будут работать с правильной версией Java.
Сравнение текущей версии Java с требуемой для приложения

Для корректной работы приложений необходимо, чтобы версия Java на системе соответствовала минимальным требованиям. Проверка начинается с команды:
java -version
Для сравнения с требуемой версией следует учитывать основные компоненты версии: мажорная (17), минорная (0) и патч (8). Если приложение заявляет требование Java 11 или выше, текущая версия 17 полностью удовлетворяет условию.
Для автоматизированной проверки в терминале можно использовать команду:
java -version 2>&1 | awk -F '"' '/version/ {print $2}'
sudo apt install openjdk-17-jdk для Ubuntu или sudo dnf install java-17-openjdk для Fedora.
Важно также проверять переменную JAVA_HOME, так как некоторые приложения используют её для определения пути к Java. Для установки используйте:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
Итоговая рекомендация: сверяйте мажорную версию с требуемой, патчи обновляйте при необходимости безопасности, и всегда проверяйте, что JAVA_HOME указывает на активную версию.
Вопрос-ответ:
Как узнать, какая версия Java установлена на моём Linux?
В терминале можно использовать команду java -version. Она выводит текущую версию установленного Java Runtime Environment (JRE), а также дополнительные сведения, такие как версия виртуальной машины Java и информация о поставщике. Если Java не установлена, система уведомит об отсутствии команды.
Почему команда java -version иногда показывает одну версию, а javac -version — другую?
Команды java и javac могут указывать на разные установки Java. java показывает версию JRE, используемую для запуска приложений, а javac — версию компилятора Java. Различия возникают, если в системе установлено несколько версий и пути к ним прописаны в переменных окружения по-разному.
Как проверить, где находится исполняемый файл Java на Linux?
Для определения пути к файлу можно воспользоваться командой which java. Она покажет полный путь к исполняемому файлу, который вызывается по умолчанию. Дополнительно команда readlink -f $(which java) позволяет увидеть реальное расположение бинарного файла, если используется символическая ссылка.
Можно ли узнать версию Java без запуска приложений?
Да, для этого достаточно использовать java -version или javac -version. Эти команды не требуют запуска программ на Java, они обращаются к установленным бинарным файлам и выводят сведения о версии напрямую в терминал. Это удобный способ убедиться в версии перед настройкой среды разработки или установкой новых библиотек.
Что делать, если в системе несколько версий Java и нужно выбрать одну?
В Linux можно управлять версиями через команду update-alternatives. Например, sudo update-alternatives --config java позволит выбрать версию Java по умолчанию. Система предложит список установленных версий и позволит переключиться на нужную без удаления других. Аналогично настраивается javac и другие компоненты.
Как проверить, какая версия Java установлена на Linux через терминал?
Для определения установленной версии Java в Linux можно использовать команду java -version. Она выводит информацию о версии установленной Java Runtime Environment (JRE), включая номер версии, версию виртуальной машины (JVM) и данные о сборке. Если на системе установлено несколько версий Java, можно дополнительно проверить путь к исполняемому файлу с помощью команды which java, которая покажет точное расположение исполняемого файла. Для отображения всех установленных версий и выбора активной можно использовать update-alternatives --config java на системах с поддержкой alternatives, например, в Debian или Ubuntu. Это позволит увидеть список версий и при необходимости изменить текущую. Такой подход помогает убедиться, что программы и скрипты используют нужную версию Java.
