Как установить Java с apt в Ubuntu 18.04

Автор выбралOpen Internet/Free Speech Fund для получения пожертвования в размере 100 долларов в рамках программыWrite for DOnations.

Вступление

Java и JVM (виртуальная машина Java) необходимы для многих видов программного обеспечения, включаяTomcat,Jetty,Glassfish,Cassandra иJenkins.

В этом руководстве вы установите различные версии Java Runtime Environment (JRE) и Java Developer Kit (JDK), используяapt. Вы будете устанавливать OpenJDK, а также официальные пакеты от Oracle. Затем вы выберете версию, которую хотите использовать для своих проектов. Когда вы закончите, вы сможете использовать JDK для разработки программного обеспечения или использовать Java Runtime для запуска программного обеспечения.

Предпосылки

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

  • Один сервер Ubuntu 18.04, настроенный по руководствуthe Ubuntu 18.04 initial server setup guide, включая пользователя sudo без полномочий root и брандмауэр.

Установка 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 -version

Если Java в данный момент не установлена, вы увидите следующий вывод:

OutputCommand '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

Вы увидите следующий вывод:

Outputopenjdk 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)

Вам может понадобиться Java Development Kit (JDK) в дополнение к JRE, чтобы скомпилировать и запустить определенное программное обеспечение на основе Java. Чтобы установить JDK, выполните следующую команду, которая также установит JRE:

sudo apt install default-jdk

Убедитесь, что JDK установлен, проверив версиюjavac, компилятора Java:

javac -version

Вы увидите следующий вывод:

Outputjavac 10.0.1

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

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

Хотя вы можете установить пакет OpenJDK по умолчанию, вы также можете установить различные версии OpenJDK.

OpenJDK 8

Java 8 является текущей версией долгосрочной поддержки и все еще широко поддерживается, хотя общедоступное обслуживание заканчивается в январе 2019 года. Чтобы установить OpenJDK 8, выполните следующую команду:

sudo apt install openjdk-8-jdk

Убедитесь, что это установлено с

java -version

Вы увидите вывод так:

Outputopenjdk 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 этот пакет установит Java 11.

Чтобы установить OpenJDK 10/11, выполните следующую команду:

sudo apt install openjdk-11-jdk

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

sudo apt install openjdk-11-jre

Далее давайте рассмотрим, как установить официальные JDK и JRE от Oracle.

Установка Oracle JDK

Если вы хотите установить Oracle JDK, которая является официальной версией, распространяемой Oracle, вам необходимо добавить новый репозиторий пакетов для той версии, которую вы хотите использовать.

Чтобы установить Java 8, которая является последней версией LTS, сначала добавьте репозиторий пакетов:

sudo add-apt-repository ppa:webupd8team/java

Когда вы добавите репозиторий, вы увидите следующее сообщение:

output 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 на одном сервере. Вы можете настроить версию по умолчанию для использования в командной строке с помощью командыupdate-alternatives.

sudo update-alternatives --config java

Вот как будет выглядеть вывод, если вы установили все версии Java в этом руководстве:

OutputThere 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

Выберите номер, связанный с версией Java, чтобы использовать его по умолчанию, или нажмитеENTER, чтобы оставить текущие настройки на месте.

Вы можете сделать это для других команд Java, таких как компилятор (javac):

sudo update-alternatives --config javac

Другие команды, для которых эта команда может быть запущена, включают, но не ограничиваются:keytool,javadoc иjarsigner.

Установка переменной средыJAVA_HOME

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

Чтобы установить эту переменную среды, сначала определите, где установлена ​​Java. Используйте командуupdate-alternatives:

sudo update-alternatives --config java

Эта команда показывает каждую установку Java вместе с ее установочным путем:

OutputThere 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  to keep the current choice[*], or type selection number:

В этом случае пути установки следующие:

  1. OpenJDK 11 находится в/usr/lib/jvm/java-11-openjdk-amd64/bin/java.

  2. OpenJDK 8 расположен в/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java.

  3. Oracle Java 8 находится в/usr/lib/jvm/java-8-oracle/jre/bin/java.

Скопируйте путь из вашей предпочтительной установки. Затем откройте/etc/environment с помощьюnano или вашего любимого текстового редактора:

sudo nano /etc/environment

В конце этого файла добавьте следующую строку, обязательно заменив выделенный путь собственным скопированным путем:

/etc/environment

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/"

При изменении этого файла путьJAVA_HOME будет установлен для всех пользователей вашей системы.

Сохраните файл и выйдите из редактора.

Теперь перезагрузите этот файл, чтобы применить изменения к текущей сессии:

source /etc/environment

Убедитесь, что установлена ​​переменная среды:

echo $JAVA_HOME

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

Output/usr/lib/jvm/java-11-openjdk-amd64/bin/

Другим пользователям потребуется выполнить командуsource /etc/environment или выйти и снова войти в систему, чтобы применить этот параметр.

Заключение

В этом руководстве вы установили несколько версий Java и научились управлять ими. Теперь вы можете установить программное обеспечение, которое работает на Java, например Tomcat, Jetty, Glassfish, Cassandra или Jenkins.