This is an old revision of the document!


Распаковываем:

sudo tar -xvf ~/Downloads/openjdk-11.0.2_linux-x64_bin.tar.gz -C /usr/lib/jvm/

Смотрим что у нас сейчас запускается под видом java:

update-alternatives --query java

Прописываем альтернативный бинарник с приоритетом больше, чем текущий (последние цифры в команде):

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-11.0.2/bin/java 1122

И вот таким скриптом я заменяю все дефолтные бинарники java:

#!/bin/bash

new_path='/usr/lib/jvm/jdk-11.0.2/bin/'
bin_path='/usr/bin'
priority='1122'

for binary in `find /usr/lib/jvm/jdk-11.0.2/bin/ -type f`
do
  sudo update-alternatives --install $bin_path/`basename $binary` `basename $binary` $binary $priority
done

Также нужно, чтобы переменная $JAVA_HOME указывала на нужную JAVA. Обычно она указывает на /usr/lib/jvm/default-java, которая является симлинком до нужной директории. Делаем:

cd /usr/lib/jvm/
sudo rm -f default-java
sudo ln -s jdk-11.0.2 default-java
Enter your comment. Wiki syntax is allowed:
 
  • linux_faq/multiple_java_versions.1607529201.txt
  • Last modified: 2020/12/09 15:53
  • by admin