Установка Java с помощью apt в Ubuntu 18.04
Java, Ubuntu | Комментировать запись
Java и JVM (Java virtual machine) – очень широко распространённое и востребованное программное обеспечение (к примеру, оно необходимо для работы Tomcat, Jetty, Glassfish, Cassandra и Jenkins).
В этом руководстве вы научитесь устанавливать различные версии Java Runtime Environment (JRE) и Java Developer Kit (JDK) с помощью apt. Вы установите OpenJDK, а также официальные пакеты из Oracle. Также вы научитесь выбирать версию по умолчанию. После этого вы сможете использовать JDK для разработки или Java Runtime для запуска программного обеспечения.
Требования
Для работы вам нужен сервер Ubuntu 18.04, настроенный согласно этому мануалу.
Установка стандартной версии JRE/JDK
Проще всего использовать стандартную версию Java, которая поставляется вместе с Ubuntu. По умолчанию вместе с Ubuntu 18.04 идет Open JDK, открытая версия JRE и JDK.
Этот пакет установит OpenJDK 10 или 11.
- До сентября 2018 года будет устанавливаться OpenJDK 10.
- После сентября 2018 года будет устанавливаться OpenJDK 11.
Чтобы установить эту версию, сначала обновите индекс пакетов:
sudo apt update
А затем запросите версию Java (чтобы уточнить, установлена ли Java):
java -version
Если на вашем сервере нет Java, вы увидите такой вывод:
Command 'java' not found, but can be installed with:
apt install default-jre
apt install openjdk-11-jre-headless
apt install openjdk-8-jre-headless
apt install openjdk-9-jre-headless
Выполните эту команду, чтобы установить OpenJDK:
sudo apt install default-jre
Эта команда установит Java Runtime Environment (JRE), что позволит вам запускать почти все программы Java.
Запросите версию:
java -version
Вы увидите такой результат:
openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)
В дополнение к JRE вам может понадобиться Java Development Kit (JDK), чтобы скомпилировать и запустить определенное программное обеспечение на базе Java. Чтобы установить JDK, выполните следующую команду, которая также установит и JRE:
sudo apt install default-jdk
Убедитесь, что JDK установлен, проверив версию javac, компилятора Java:
javac -version
Вы увидите следующий результат:
javac 10.0.1
Установка версии OpenJDK
Вместо версии по умолчанию, вы можете использовать другие версии OpenJDK.
Установка OpenJDK 8
Java 8 является текущей версией Long Term Support и по-прежнему широко поддерживается, хотя ее поддержка заканчивается в январе 2019 года. Чтобы установить OpenJDK 8, выполните следующую команду:
sudo apt install openjdk-8-jdk
Запросите версию:
java -version
Вы должны увидеть:
openjdk version "1.8.0_162"
OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-1-b12)
OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)
Также можно установить только JRE:
sudo apt install openjdk-8-jre
Установка OpenJDK 10/11
Репозитории Ubuntu содержат пакет, который установит либо Java 10, либо 11. До сентября 2018 года этот пакет установит OpenJDK 10. После выпуска Java 11 этот пакет установит эту версию.
Чтобы установить OpenJDK 10/11, выполните следующую команду:
sudo apt install openjdk-11-jdk
Чтобы установить только JRE, введите:
sudo apt install openjdk-11-jre
Установка Oracle JDK
Установить Oracle JDK (официальную версию, распространяемую Oracle) немного сложнее. Для этого нужно добавить новый репозиторий пакетов.
Чтобы установить Java 8, последнюю LTS версию, сначала добавьте этот репозиторий:
sudo add-apt-repository ppa:webupd8team/java
Вы увидите сообщение:
Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Jav
a files in this PPA.
Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracl
e-java-7-and-6-installers-no.html
Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/j
dk9-downloads-3848520.html
The PPA supports Ubuntu 18.04, 17.10, 16.04, 14.04 and 12.04.
More info (and Ubuntu installation instructions):
- for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
Debian installation instructions:
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html
For Oracle Java 10, see a different PPA: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html
More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Press [ENTER] to continue or Ctrl-c to cancel adding it.
Чтобы продолжить, нажмите Enter. Обновите список пакетов:
sudo apt update
Затем установите Java 8:
sudo apt install oracle-java8-installer
Ваша система загрузит JDK из Oracle и предложит принять лицензионное соглашение. Примите соглашение, после чего JDK будет установлен.
Теперь нужно выбрать версию Java по умолчанию.
Управление Java
На одном сервере может одновременно находиться несколько установок Java. Вы можете выбрать версию Java, которая будет использоваться системой по умолчанию. Для этого существует команда update-alternatives, управляющая симлинками, которые используются в различных командах.
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 1101 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode
Теперь можно выбрать номер версии, которая будет использоваться по умолчанию, и нажмите Enter. Подобным образом можно настроить и другие команды Java, например, компилятор (javac).
sudo update-alternatives --config javac
Также эта команда работает для keytool, javadoc, jarsigner и т.п.
Переменная JAVA_HOME
Многие программы используют переменную среды JAVA_HOME, чтобы определить место установки Java. Чтобы установить эту переменную, нужно сначала узнать, где именно хранится установка Java. Для этого используется эта команда:
sudo update-alternatives --config java
Команда покажет все установки 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 1101 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number:
В данном случае у установок такие пути:
- OpenJDK 11: /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
- OpenJDK 8: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java.
- Oracle Java 8: /usr/lib/jvm/java-8-oracle/jre/bin/java.
Скопируйте путь необходимой версии программы и откройте /etc/environment в текстовом редакторе:
sudo nano /etc/environment
Добавьте следующую строку в конец файла (замените условный путь к программе только что скопированным путём):
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/java"
При изменении этого файла путь JAVA_HOME будет установлен для всех пользователей вашей системы. Сохраните и закройте файл. Чтобы обновить настройки, введите:
source /etc/environment
Убедитесь, что переменная среды установлена. Для этого введите:
echo $JAVA_HOME
Команда должна вернуть установленный вами путь.
Заключение
Теперь вы знаете, как установить несколько версий Java и выбрать версию по умолчанию. Установите несколько программ, основанных на Java, например, Tomcat, Jetty, Glassfish, Cassandra или Jenkins.
Tags: Java, OpenJDK, OpenJDK 8, Oracle Java 8, Oracle JDK, Ubuntu 18.04