| Java играет важную роль в работе множества приложений, особенно на Linux.
В этой статье AlienVDS поделится информацией о том, как установить нужную Вам версию Java на сервер с ОС Debian\Ubuntu.
ВНИМАНИЕ, В САМОМ КОНЦЕ НОВОСТИ ЕСТЬ БЫСТРЫЕ КОМАНДЫ ДЛЯ УСТАНОВКИ ЛЮБОЙ ЯВЫ 7\8\9\11\15\16
Установка будет происходить не из установочного пакета или репозитория, поскольку на дату написания статьи (03.05.2019), все репозитории которые ранее способствовали быстрой установке Java JDK 7\8\9, теперь не доступны и не работают.
Ранее рекомендованная установка производилась следующими строчками:
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" > /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" >> /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get update
apt-get install oracle-java7-installer oracle-java8-installer oracle-java9-installer -y
Но сейчас видно только следующую ошибку:
E: Unable to locate package oracle-java7-installer
E: Unable to locate package oracle-java8-installer
E: Unable to locate package oracle-java9-installer
Начнём мы с самого начала, с версии Java 7 - версия которая всё еще используется иногда, так как версия java 6 уже совершенно не актуальна.
Начнём с скачивания архива с java
Сайт где можно скачать официальный архив
https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.htmlВам необходимо будет согласится с лицензионным соглашением, поставив галочку как показано на скрине.
Далее нажимайте на нужную ссылку, которая подходит по вашу разрядность ОС x64_86(или просто x64) или же x86

Вы попадёте в окно авторизации Oracle, вам нужно либо создать аккаунт, либо войти в существующий, далее архив сразу же скачается.

Для простоты установки и ускорения процесса, мы залили данные архивы себе на сервер и они доступны по ссылкам:
JDK 7 - https://alienvds.com/uploads/files/java/jdk-7u80-linux-x64.tar.gz
JDK 8 - https://alienvds.com/uploads/files/java/jdk-8u211-linux-x64.tar.gz
JDK 9 - https://alienvds.com/uploads/files/java/jdk-9+180_linux-x64_bin.tar.gz
JDK 11 - https://alienvds.com/uploads/files/java/jdk-11.0.9_linux-x64_bin.tar.gz
JDK 15 - https://alienvds.com/uploads/files/java/jdk-15.0.1_linux-x64_bin.tar.gz
Далее в примере будет речь о JDK 7, но вы можете так же установить 8 и 9, просто меняя цифру в командах, там где это нужно.
Переходим в нужную папку. Скачиваем нужную версию JDK.
mkdir /usr/lib/jvm/
cd /usr/lib/jvm/
wget --no-check-certificate https://alienvds.com/uploads/files/java/jdk-7u80-linux-x64.tar.gz
tar -xvf jdk-7u80-linux-x64.tar.gz
Мы разархивировали архив и теперь нам нужно переименовать получившуюся папку, в новое название.
mv jdk1.7.0_80 java-7-oracle
Почему jdk1.7.0_80 ?
Потому что это папка с файлами явы, при разархивировании, название папки будет отлично видно, по-этому с поиском названия долго не нужно заморачиваться.
Сейчас мы разархивировали яву, переименовали и получили почти уже рабочий вариант.
Проверяем командой
/usr/lib/jvm/java-7-oracle/bin/java -version
Получаем в ответ
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
Но если написать просто java, то получим
Что нужно сделать?
Предлагаем вариант самый простой и быстрый, обычное указание симлинка на яву (символическая ссылка)
ln -s /usr/lib/jvm/java-7-oracle/bin/java /usr/bin/java
Теперь java 7 доступна обычной командой java
java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
Внимание, НЕ ВСЕГДА требуется указание симлинка для работы java по простой команде.
На сервере активной может быть только одна версия, но запустить несколько приложений на разных версиях java так же возможно.
После прохождения процедуры с 8 и 9 версией, так же как с 7, то дальнейший запуск будет выглядеть так.
/usr/lib/jvm/java-7-oracle/bin/java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
/usr/lib/jvm/java-8-oracle/bin/java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
/usr/lib/jvm/java-9-oracle/bin/java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+180)
Java HotSpot(TM) 64-Bit Server VM (build 9+180, mixed mode)
Тем самым, например запустить сервер MineCraft можно на разных версиях, просто меняя обычную команду
java на любую из нужных, где цифра соответствует версии.
/usr/lib/jvm/java-7-oracle/bin/java
/usr/lib/jvm/java-8-oracle/bin/java
/usr/lib/jvm/java-9-oracle/bin/java
/usr/lib/jvm/java-11-oracle/bin/java
/usr/lib/jvm/java-15-oracle/bin/java
### Быстрая установка java 8, 9, 11, 15, 16
mkdir /usr/lib/jvm/
cd /usr/lib/jvm/
wget --no-check-certificate https://alienvds.com/uploads/files/java/jdk-8u211-linux-x64.tar.gz
tar -xvf jdk-8u211-linux-x64.tar.gz
mv jdk1.8.0_211 java-8-oracle
Сделать по умолчанию ln -s /usr/lib/jvm/java-8-oracle/bin/java /usr/bin/java
mkdir /usr/lib/jvm/
cd /usr/lib/jvm/
wget --no-check-certificate https://alienvds.com/uploads/files/java/jdk-9+180_linux-x64_bin.tar.gz
tar -xvf jdk-9+180_linux-x64_bin.tar.gz
mv jdk-9 java-9-oracle
Сделать по умолчанию ln -s /usr/lib/jvm/java-9-oracle/bin/java /usr/bin/java
mkdir /usr/lib/jvm/
cd /usr/lib/jvm/
wget --no-check-certificate https://alienvds.com/uploads/files/java/jdk-11.0.9_linux-x64_bin.tar.gz
tar -xvf jdk-11.0.9_linux-x64_bin.tar.gz
mv jdk-11.0.9 java-11-oracle
Сделать по умолчанию ln -s /usr/lib/jvm/java-11-oracle/bin/java /usr/bin/java
mkdir /usr/lib/jvm/
cd /usr/lib/jvm/
wget --no-check-certificate https://alienvds.com/uploads/files/java/jdk-15.0.1_linux-x64_bin.tar.gz
tar -xvf jdk-15.0.1_linux-x64_bin.tar.gz
mv jdk-15.0.1 java-15-oracle
Сделать по умолчанию ln -s /usr/lib/jvm/java-15-oracle/bin/java /usr/bin/java
mkdir /usr/lib/jvm/
cd /usr/lib/jvm/
wget --no-check-certificate https://alienvds.com/uploads/files/java/openjdk-16.0.1_linux-x64_bin.tar.gz
tar -xvf openjdk-16.0.1_linux-x64_bin.tar.gz
mv jdk-16.0.1 java-16-oracle
Сделать по умолчанию ln -s /usr/lib/jvm/java-16-oracle/bin/java /usr/bin/java