Как найти jdk на linux

This question still seems relevant, and the answer seems to be a moving target.

On my debian system (buster):

> update-java-alternatives -l
java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64

However, if you actually go look there, you’ll see there are multiple directories and symbolic links placed there by the package system to simplify future maintenance.

The actual directory is java-11-openjdk-amd64, with another symlink of default-java. There is also an openjdk-11 directory, but it appears to only contain a source.zip file.

Given this, for Debian ONLY, I would guess the best value to use is /usr/lib/jvm/default-java, as this should always be valid, even if you decide to install a totally different version of java, or even switch vendors.

The normal reason to want to know the path is because some application wants it, and you probably don’t want that app to break because you did an upgrade that changed version numbers.

I needed to update my openJDK to 8 version… And I downloaded the new one this way:

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update 
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac

When I check the Java version

java -version

I get

openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~14.04-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

But where was it saved? I need to know because I should set this path into AndroidStudio.

Greenonline's user avatar

Greenonline

2,0108 gold badges20 silver badges27 bronze badges

asked May 14, 2016 at 10:29

Sirop4ik's user avatar

Simply do (in terminal):

update-alternatives --list java

And you’ll get an output like this:

 $ update-alternatives --list java
/usr/bin/gij-5
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

The last line is the place your java is in.

issamux's user avatar

answered May 14, 2016 at 10:38

Videonauth's user avatar

VideonauthVideonauth

32.9k16 gold badges104 silver badges119 bronze badges

You need to dig into symbolic links. Below is steps to get Java directory

Step 1:

$ whereis java
java: /usr/bin/java /etc/java /usr/share/java

That tells the command java resides in /usr/bin/java.

Step 2:

$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 2009-01-15 18:34 /usr/bin/java -> /etc/alternatives/java

So, now we know that /usr/bin/java is actually a symbolic link to /etc/alternatives/java.

Dig deeper using the same method above:

Step 3:

$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 31 2009-01-15 18:34 /etc/alternatives/java -> /usr/local/jre1.6.0_07/bin/java

So, thats the actual location of java: /usr/local/jre.....

You could still dig deeper to find other symbolic links.


Reference : where is java’s home dir?

answered May 14, 2016 at 10:32

Sinscary's user avatar

SinscarySinscary

1,3759 silver badges27 bronze badges

0

export JAVA_HOME=$(dirname $(dirname $(update-alternatives --list javac)))

To make this seemingly over done setting clearer, on my Ubuntu linux machine with open JDK 8 installed:

$ update-alternatives --list java
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

$ update-alternatives --list javac
/usr/lib/jvm/java-8-openjdk-amd64/bin/javac

but what we need is the path to the directory containing bin of the JDK. So ask for the location of javac and then use dirname twice.

See man update-alternatives for more.

answered Apr 28, 2018 at 17:13

Judd Rogers's user avatar

1

Starting from January 2019, the licensing model for Oracle Java has changed. PPAs such as ‘ppa:webupd8team/java’ used in many Java installation tutorials now become unavailable.

Here I would like to share how I installed Java 8 on Ubuntu 16.04, and set the Java path in terminal.

Installation

Reference: https://java.com/en/download/help/linux_x64_install.xml

I followed the instruction on the official documentation to install Java with .tar.gz

Path setting

Reference: https://java.com/en/download/help/path.xml

The instruction is also from the official documentations. The steps to set up Java path are much simpler here.

After performing all the steps, restart the terminal and run ‘java -version’ to verify installation.

answered Aug 15, 2019 at 3:03

Victor Tang's user avatar

Since this question is RPM specific, rpm is the way to get started (as answered by @Matteo).

rpm flags

-q is short for --query
-l is short for --list

Example

rpm -ql jdk1.8.0_20 | grep "jdk1.8.0_20/bin$"
/usr/java/jdk1.8.0_20/bin

Knowing this may be desirable for setting a user or application’s $JAVA_HOME variable. This is often needed when a system has multiple versions of java installed, or multiple distributions of java installed, such as OpenJDK and Oracle/Sun.

$JAVA_HOME Example

In the ~/.bash_profile, or related file (.bashrc, .zshrc, .cshrc, setenv.sh), something similar to the below may be used.

JAVA_HOME='/usr/java/jdk1.8.0_20'
export JAVA_HOME
PATH="$JAVA_HOME/bin:$PATH"
export PATH

If you would like more control over where Java gets installed, such as in /opt, then the tarball can be used instead of the RPM file.


Other similar questions, are asking about how to find any binary or file, in the general case.

Java – популярный язык программирования, разработанный в компании Sun Microsystems, ныне принадлежащей корпорации Oracle. Java занимает лидирующие позиции в мире языков программирования. Многие программы, разработанные для Linux намного лучше выполняются с использованием проприетарной версии Java.

В данной статье будет рассмотрена установка JRE (Java Runtime Environment) и JDK (Java Development Kit) 8 версии on Oracle на дистрибутивы Ubuntu 20.04, CentOS 8 и Arch Linux. Также будет рассмотрен выбор необходимой среды по умолчанию.

Чем отличается JDK от JRE

  • JRE – Java Runtime Environment – это среда выполнения Java. Предназначена для обычного использования. Позволяет запускать приложения, написанные на языке Java.
  • JDK– Java Development Kit – стандартная версия платформы Java, предназначенная для разработки. Это специальный пакет разработчика, в который входят документация, различные утилиты, компилятор, библиотеки классов, а также сама JRE.

Установка Java в Ubuntu

JRE

Для начала необходимо скачать архив с официального сайта Oracle выбрав пакет с именем Linux x64 если используется 64 битная система или выбрать пакет с именем Linux если используется 32 битная система:

TJLJfuz9wzEAAAAASUVORK5CYII=

Далее скачанный архив необходимо переместить в любую директорию и распаковать. В качестве примера будет выбрана директория /usr/java/ Предварительно данную директорию необходимо создать при помощи команды:

sudo mkdir /usr/java/

Awf5x9h1Cge7AAAAAElFTkSuQmCC

Для перемещения архива необходимо выполнить следующую команду:

sudo mv ~/Downloads/jre-8u311-linux-x64.tar.gz /usr/java/

z+7WDMYDJHvdQAAAABJRU5ErkJggg==

Где символ ~ (тильда) означает домашнюю директорию пользователя. Далее перейдите в директорию /usr/java и распакуйте архив при помощи команды:

sudo tar -xzvf jre-8u311-linux-x64.tar.gz

9QaKxvEOkKaSS1b8j0Tvp08v+IQ4MvfmSH2Qqe3o8f8HXC8y7UlKfEYAAAAASUVORK5CYII=

Далее системе необходимо указать, где находятся установочные файлы Java. Для этого необходимо создать символическую ссылку в каталоге /usr/bin/ которая будет ссылаться на установочную директорию /usr/java/jre1.8.0_311 Для этого необходимо выполнить команду:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jre1.8.0_311/bin/java" 1

O0NJDAcmttmhKcZqLneq2gS45i58z5EjnbzyNQsTqQwN570QUdN8VTOfFRdgx7b8fwE9JnEhhFHl4wAAAABJRU5ErkJggg==

После этого можно проверить версию Java выполнив команду:

java -version

uAJAAAAAElFTkSuQmCC

JDK

Загрузите архив со средствами разработки с официального сайта компании Oracle. Необходимо выбрать раздел Linux и найти пакет с именем jdk-8u311-linux-aarch64.tar.gz:

D7GgZhvZ1heuAAAAAElFTkSuQmCC

Далее необходимо поставить галочку напротив пункта I reviewed and accept the Oracle Technology Network License Agreement for Oracle Java SE тем самым подтверждая принятия условия лицензионного соглашения.

Fese28Keg6QAAAAASUVORK5CYII=

Для скачивания файла необходимо войти в свою учетную запись Oracle или создать новую, только после этого начнется загрузка архива.

В качестве примера также будет выбрана директория /usr/java. Предварительно данная директория должна быть создана. Перенесите архив в директорию /usr/java:

sudo mv ~/Downloads/jdk-8u311-linux-x64.tar.gz /usr/java

wJKHqzr2cjQAAAABJRU5ErkJggg==

Далее перейдите в директорию /usr/java и распакуйте архив:

sudo tar -xzvf jdk-8u311-linux-x64.tar.gz

9wbymZsLeWgAAAABJRU5ErkJggg==

Так же, как и при настройке JRE необходимо указать, где находятся установочные файлы Java. Для этого необходимо создать символическую ссылку в каталоге /usr/bin/ которая будет ссылаться на установочную директорию /usr/java/jdk1.8.0_311. Для этого необходимо выполнить команду:

sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_311/bin/java 1

5jDAyOEAAAAASUVORK5CYII=

Переменные окружения

Многие программы используют переменную среды JAVA_HOME для того, чтобы определить расположение установки Java. Чтобы установить эту переменную для всех пользователей, сначала необходимо узнать, где именно хранится установка Java. Для этого необходимо выполнить команду:

sudo update-alternatives --config java

8H8IVE+xECxXAAAAAASUVORK5CYII=

В данном случае в системе установлены JRE и JDK одновременно. Поэтому присутствует 2 пути:

  • /usr/java/jdk1.8.0_311/bin/java
  • /usr/java/jre1.8.0_311/bin/java

Выберите нужный тип Java и скопируйте путь необходимой версии и откройте файл /etc/environment в любом текстовом редакторе (например nano):

sudo nano /etc/environment

8fEmBMz97bRJ4AAAAASUVORK5CYII=

Необходимо добавьте строку с путём установки JRE или JDK в конец этого файла:

JAVA_HOME="/usr/java/jre1.8.0_311"

tncR3QyKUguHjDl3x6QyHOwug1d1y9PWnDqM3f8HPohND64QrPAAAAAASUVORK5CYII=

Сохраните и закройте файл. Чтобы применить настройки, необходимо перейти в учётную запись root далее перечитать файл выполнив в терминале команду:

source /etc/environment

Установка Java в Arch Linux

JRE

В официальных репозиториях Arch Linux присутствует только OpenJDK, в то время как проприетарная JRE присутствует только в пользовательских репозиториях aur. Для установки JRE необходимо перейти по ссылке официальной страницы JRE в репозитории aur и найти ссылку на GIT репозиторий программы в поле Git Clone URL:

wFJfNkAb+2MPAAAAABJRU5ErkJggg==

Далее необходимо склонировать данный репозиторий при помощи команды:

git clone https://aur.archlinux.org/jre8.git

8LFy8UuipbQI8AAAAASUVORK5CYII=

Перейдите в скачанный репозиторий:

cd jre8/

Для установки JRE необходимо выполнить команду:

makepkg -si

xIu97DQV6wIrZMrmU7d56hh09asrkWpC2oL+fwBz9HzHPEFHUwAAAABJRU5ErkJggg==

При появлении фразы Proceed with installation? [Y/n] введите y и нажмите на клавишу Enter:

BafxjWnn8Uf+AAAAAElFTkSuQmCC

Установка JRE завершена.

JDK

Как и JRE JDK так же присутствует только в пользовательском репозитории aur. Несмотря на то, что установочный процесс совпадает с установкой JRE, у установки JDK есть одна особенность – с тех пор как пакеты JDK расположенные на сайте Oracle требует авторизации на сайте необходимо заранее скачать пакет JDK иначе установщик выдаст ошибку.

Перейдите на официальный сайт Oracle найдите и скачайте архив с именем jdk-8u301-linux-x64.tar.gz:

AVgXc9sCLpQnAAAAAElFTkSuQmCC

Далее склонируйте репозиторий с JDK выполнив команду:

git clone https://aur.archlinux.org/jdk8.git

MTmUtSCv1rHCsRSubkkQQUQL7B3Igmi107P8CD57nqEX0RocAAAAASUVORK5CYII=

Переместите ранее скачанный архив в только что склонированный репозиторий при помощи команды:

mv Downloads/jdk-8u301-linux-x64.tar.gz jdk8/

Где Downloads – директория куда был скачен архив, а jdk8/– директория с самим JDK. Перейдите в директорию с JDK и запустите команду для установки:

makepkg -si

JgDZUkKIykfwpmoisG+XQhL5QaUIfycN6fvnvpkwHmJse2QYAAAAASUVORK5CYII=

При появлении фразы Proceed with installation? [Y/n] введите y и нажмите на клавишу Enter:

Je8cAAAAASUVORK5CYII=

После этого установка JDK будет завершена.

Установка Java в CentOS 8

JRE

Для RHEL дистрибутивов, таких как, CentOS, Fedora, RedHat и OpenSUSE есть официальный RPM-пакет. Для начала необходимо скачать пакет с официального сайта Oracle выбрав пакет с именем Linux RPM если используется 64 битная система или выбрать пакет с именем Linux x64 RPM если используется 32 битная система:

g+7kYXXJVOKIQAAAABJRU5ErkJggg==

Чтобы установить пакет необходимо выполнить команду в терминале:

sudo rpm -i jre-8u311-linux-x64.rpm

H+e6jWWzjgjhW9CU5Noa6zBfkfRAcluHMeCd68WTb44GVEbKWIA6rBntL8iQpbmYScmZDbVnSOVoZen8ASURNvrAw+nQxpS+25IMY9r7bBqmGwIPk8sFFwYnWqMBnsuMWp9P8PnZk0VMIhYZ0AAAAASUVORK5CYII=

После установки можно проверить версию JRE при помощи команды:

java -version

B8sb3pmw0Z8ZAAAAAElFTkSuQmCC

JDK

Средства для разработчиков также можно скачать с официального сайта Oracle выбрав пакет с именем jdk-8u311-linux-x64.rpm для 64 битной системы и выбрав пакет с именем jdk-8u311-linux-i586.rpm для 32 битной системы:

38PGAnobR9D9gAAAABJRU5ErkJggg==

Для установки из терминала, необходимо выполнить команду:

sudo rpm -i jdk-8u311-linux-x64.rpm

iT0cBhpPLkAAAAAASUVORK5CYII=

Для просмотра версии JDKнеобходимо выполнить команду:

javac -version

5O1QVyR45yMAAAAAElFTkSuQmCC

Ubuntu 20.04

Для начала необходимо вывести список всех установленных версий Java в системе. Для этого необходимо выполнить команду:

sudo update-alternatives --config java

8H8IVE+xECxXAAAAAASUVORK5CYII=

Если у в вас системе установлено несколько версий Java можно выбрать ту, которая будет использоваться по умолчанию. Так как на данный момент в системе присутствует только 8 версия Java то выбирать версию нет необходимости. Если в системе одновременно присутствуют 2 и более версии, то для выбора версии по умолчанию необходимо ввести цифру, которая будет располагаться напротив нужной версии.

ArchLinux

Для начала просмотрите список установленных сред при помощи команды:

archlinux -java status

shkSGrRsjuywpNQ8U8YSBakc2BNU6HXw+7tI8AoywK2EyfHiI9maSWxxb+MSpsaiwORAkWiBHDSv8XVRJsJD28xhIAAAAASUVORK5CYII=

Далее установите необходимую версию:

sudo archlinux -java set имя_среды

Пример:

sudo archlinux-java set java-8-jdk

C6N0VessAcfuAAAAAElFTkSuQmCC

Для проверки версии JDK необходимо выполнить команду:

javac -version

Mp6cb2kd+iLZdR57qb1k04q8eINBi+pgj0z40V9iVf9pniT8lUIMCm0DUuNE+KUro2JRrM6VGvHmkJU5mIYoDGLXCbjyJ5X4yN+X4vCng4lzn2HJMUsnesxtM0sEJWw0EWBeNcl2U1pFCw9yCVv8LO2o3urIvSXcAAAAASUVORK5CYII=

Для проверки версии JRE необходимо выполнить команду:

java -version

ALZLJr9WQoB6AAAAAElFTkSuQmCC

CentOS 8.2

Выбрать необходимую версию Java можно с помощью команды ниже (так же, как и в Ubuntu). Необходимо выбрать цифру, соответствующую номеру версии:

sudo update-alternatives --config java

wKc8JSLwIIgyQAAAABJRU5ErkJggg==

Выводы

В данной статье показан процесс установки и настройки Java в различных дистрибутивах Linux. Если остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Вступление

Java — популярный язык разработки, на котором написано большое количество приложений, поэтому часто требуется запускать программное обеспечение на Java. Для этого Java необходимо установить и определить переменную JAVA_HOME. В этой инструкции расскажем, как выбрать версию Java и как ее поставить на Ubuntu 20.04.

Перед установкой

Мы будем устанавливать Java на облачном сервере с ОС Ubuntu 20.04. Чтобы заказать сервер, откройте панель управления Selectel. Перейдите в раздел Облачная платформаСерверы. Нажмите Создать сервер.

создание сервера

В качестве источника для сервера выберите готовый образ Ubuntu 20.04 LTS 64-bit.

новый сервер с готовым образом ubuntu

Добавьте подсеть с новым плавающим IP-адресом. Он нужен для подключения к облачному серверу по SSH.

подсеть с плавающим адресом

Укажите остальные настройки, проверьте стоимость сервера и нажмите Создать. Подробная инструкция по созданию сервера есть в базе знаний.

После создания сервера подключитесь к нему по SSH с помощью команды:

    ssh root@server_IP

В качестве server_IP используйте плавающий адрес, присвоенный серверу. Плавающий IP-адрес можно посмотреть на странице сервера вкладка Порты. Для подключения понадобится пароль для root, его можно найти на вкладке Консоль.

Какую версию Java выбрать

Сейчас версии Java выходят приблизительно раз в полгода. На момент подготовки статьи самая свежая версия — Java 18.

Чем JRE отличается от JDK

  • JRE — среда выполнения, Java Runtime Environment. Наиболее важный компонент JRE — java, он запускает JVM (виртуальную машину Java). JVM же запускает ранее скомпилированные приложения Java, поэтому для создания новых программ JRE недостаточно.
  • JDK — Java Development Kit, полноценный SDK, набор для разработки приложений на Java. В JDK входит JRE, компилятор Java (javac) и разные утилиты и инструменты (например, отладчик jdb).

Большое количество приложений на Java требуют установленную JRE для запуска. Если вам требуется только запускать приложения на Java, подойдет JRE.

Если вы планируете разрабатывать приложения, установите JDK. Часто вместо Java используется понятие JDK.

OpenJDK или Oracle JDK

Исходный код Java существует в проекте OpenJDK. Для работы нужны сборки, совместимые со спецификациями Java SE.

Есть две сборки Java:

  • OpenJDK — опенсорсная версия, поддерживается Oracle и сообществом разработчиков;
  • Oracle JDK — проприетарная сборка, выпускается и поддерживается компанией Oracle.

Разницы между свежими релизами Oracle JDK и OpenJDK практически нет. Основное отличие между ними — это лицензирование. С 2019 года для коммерческого использования Oracle JDK нужно покупать лицензию, при этом Oracle будет поставлять обновления. Для некоммерческих целей Oracle JDK бесплатна. OpenJDK можно использовать бесплатно в любых целях.

Установка Open JDK

Установка Open JDK выполняется через apt. Перед установкой обновите списки пакетов:

    sudo apt update

Проверьте, установлена ли Java на сервере:

    java -version

Если Java не установлена, в выводе будут предложены доступные версии и команды для их установки:

    Command 'java' not found, but can be installed with:

apt install openjdk-11-jre-headless  # version 11.0.15+10-0ubuntu0.20.04.1, or
apt install default-jre              # version 2:1.11-72
apt install openjdk-13-jre-headless  # version 13.0.7+5-0ubuntu1~20.04
apt install openjdk-16-jre-headless  # version 16.0.1+9-1~20.04
apt install openjdk-17-jre-headless  # version 17.0.3+7-0ubuntu0.20.04.1
apt install openjdk-8-jre-headless   # version 8u312-b07-0ubuntu1~20.04

Можно установить дефолтную версию Java (поставляется с Ubuntu) или поставить отдельные версии.

Установка версии по умолчанию

По умолчанию в стандартные репозитории Ubuntu 20.04 входит Open JDK 11. Чтобы ее установить, используйте:

    sudo apt install default-jre

Проверьте, установилась ли версия:

    java -version

Вывод команды:

    openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.20.04.1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.20.04.1, mixed mode, sharing)

JRE полностью подходит для запуска любого ПО Java. Но, как мы говорили ранее, для компиляции помимо JRE может понадобиться и JDK. Чтобы установить дефолтную версию JDK (при этом установится JRE):

    sudo apt install default-jdk

Проверьте версию установившегося компилятора javac:

    javac -version

Результат:

    javac 11.0.15

Установка определенной версии OpenJDK

Если вы хотите поставить определенную версию OpenJDK, то укажите версию в команде.

Например, для установки одиннадцатой версии:

    sudo apt install openjdk-11-jdk

Например, можно установить OpenJDK 8, на которой работает большое количество приложений:

    sudo apt install openjdk-8-jdk

Посмотрите, какая версия Java установилась:

    java -version

Установка Oracle Java (Oracle JDK) 

Перейдите на официальный сайт Oracle, чтобы скачать архив нужной версии. Мы будем скачивать Java SE Development Kit 16, на момент выпуска статьи это архивный релиз для Java SE Platform.

Скачайте Linux x64 Compressed Archive (для примера мы скачаем архив не на сервер, а на локальный компьютер):

скачивание архива

Отключитесь от сервера и скопируйте архив на сервер:

    scp Downloads/jdk-16_linux-x64_bin.tar.gz root@server_ip:~

Downloads/jdk-16_linux-x64_bin.tar.gz — путь до архива на вашем компьютере.

Когда загрузка закончится, подключитесь по SSH к облачному серверу. Уже на сервере распакуйте архив:

    tar zxvf jdk-16_linux-x64_bin.tar.gz

Добавьте PPA-репозиторий с установщиком Java — linuxuprising:

    sudo add-apt-repository ppa:linuxuprising/java

В выводе появится информация о репозиториях и версиях. Нажмите Enter для продолжения.

Обновите списки пакетов:

    sudo apt update

sУстановите Oracle JDK 18:

    sudo apt install oracle-java16-installer --install-recommends

Подтвердите соглашение о лицензии, прокрутив до конца и нажав Ok:

лицензионное соглашение

Выберите Yes:

принять соглашение

Посмотрите, какая версия установилась:

    java -version

Ответ будет выглядеть так:

    java version "16.0.1" 2021-04-20
Java(TM) SE Runtime Environment (build 16.0.1+9-24)
Java HotSpot(TM) 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)


Проверьте, правильная ли версия компилятора javac установилась:

    javac -version

Пример результата:

    javac 16.0.1

Переключение между несколькими версиями Java

Вы можете установить или изменить дефолтную версию Java, если, например, на сервере установлено несколько версий одновременно:

    update-alternatives --config java

В выводе будут показаны все установленные версии, активная будет помечена звездочкой:

    There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
* 2            /usr/lib/jvm/java-16-oracle/bin/java             1091      manual mode
  3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

Press <enter> to keep the current choice[*], or type selection number: 

Нажмите Enter, чтобы оставить текущий выбор, или введите номер из столбца Selection той версии, которую хотите сделать дефолтной версией.

То же самое можно сделать с версиями javac:

    update-alternatives --config javac

Переменная JAVA_HOME

Множество приложений на Java используют JAVA_HOME. Это переменная окружения — она указывает на путь, по которому установлена Java.

Сначала определите путь, по которому установлена Java:

    sudo update-alternatives --config java

В выводе будут все установленные версии и их директории:

    There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
* 2            /usr/lib/jvm/java-16-oracle/bin/java             1091      manual mode
  3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

Press <enter> to keep the current choice[*], or type selection number:

В выводе показаны следующие пути:

  • OpenJDK 8 — /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java;
  • OpenJDK 11 — /usr/lib/jvm/java-11-openjdk-amd64/bin/java;
  • Oracle Java 16 — /usr/lib/jvm/java-16-oracle/bin/java.

Скопируйте путь до активной версии, затем нажмите Enter. В нашем примере активна Oracle Java 16.

Откройте директорию /etc/environment (это предпочтительный путь до JAVA_HOME) в редакторе nano:

    sudo nano /etc/environment

Добавьте строку с JAVA_HOME в конце файла. При этом не включайте в путь часть с bin/:

    JAVA_HOME="/usr/lib/jvm/java-16-oracle"

Введите Ctrl+X, затем Y+Enter — это сохранит файл и закроет редактор. Путь будет заменен.

Загрузите переменные:

    source /etc/environment

Проверьте, что путь до JAVA_HOME задан верно:

    echo $JAVA_HOME

В выводе должна быть именно эта директория:

    /usr/lib/jvm/java-16-oracle

Удаление Java

OpenJDK

Чтобы полностью удалить все версии OpenJDK, которые были установлены, используйте команду:

    sudo apt purge openjdk*

Для удаления только конкретной версии нужно ее указать, например:

    sudo apt purge openjdk-11*

или

    sudo apt purge openjdk-8*

Oracle Java

Чтобы полностью удалить Oracle Java:

    sudo apt purge oracle-java*

Для удаления конкретной версии, например, версии 11:

    sudo apt purge oracle-java11-installer

Теперь можно удалить PPA-репозиторий:

    sudo add-apt-repository --remove ppa:linuxuprising/java

Заключение

В этой инструкции мы рассмотрели отличия версий Java. Посмотрели, как можно запустить виртуальную машину Java (JVM) и как поставить в Ubuntu сразу несколько версий Java.

Добавить комментарий