Автор выбрал фонд 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 для запуска программного обеспечения.
Для данного обучающего модуля вам потребуется следующее:
Самый простой вариант установки Java — использовать версию, входящую в пакет Ubuntu. По умолчанию в пакет Ubuntu 18.04 входит Open JDK (версия JRE и JDK с открытым исходным кодом).
Данный пакет устанавливает версию OpenJDK 10 или 11.
Для установки этой версии нужно вначале обновить указатель пакетов:
Затем нужно проверить, выполнялась ли установка Java ранее:
Если установка 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:
Эта команда выполняет установку среды Java Runtime Environment (JRE). Она позволяет запускать практически любое программное обеспечение Java.
Проверьте установку с помощью следующей команды:
Вывод должен выглядеть следующим образом:
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 в дополнение к JRE вам может потребоваться комплект разработчика Java Development Kit (JDK). Для установки JDK выполните следующую команду, которая также выполняет установку JRE:
Проверьте установку JDK, проверив версию javac
, компилятора Java:
Вывод должен выглядеть следующим образом:
Outputjavac 10.0.1
Теперь посмотрим, как указать конкретную версию OpenJDK для установки.
Хотя вы можете просто установить пакет OpenJDK по умолчанию, вы также можете установить и другие версии OpenJDK.
Java 8 — текущая версия с долгосрочной поддержкой, которая все еще поддерживается широким спектром приложений, хотя ее публичная поддержка заканчивается в январе 2019 г. Для установки OpenJDK 8 нужно выполнить следующую команду:
Для проверки установки используется команда
Вывод будет выглядеть следующим образом:
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
.
В хранилищах Ubuntu содержится пакет, устанавливающий Java 10 или 11. До сентября 2018 г. этот пакет устанавливал OpenJDK 10. После выпуска Java 11 этот пакет устанавливает Java 11.
Для установки OpenJDK 10/11 используется следующая команда:
Чтобы установить только JRE, нужно использовать следующую команду:
Теперь посмотрим, как установить официальные версии JDK и JRE от Oracle.
Если вы хотите установить официально распространяемую версию Oracle JDK, вам нужно добавить новое хранилище пакетов для версии, которую вы хотите использовать.
Чтобы установить Java 8 (последняя версия LTS), нужно вначале добавить для нее хранилище пакетов:
При добавлении хранилища выводится сообщение следующего вида:
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
, чтобы продолжить. Затем обновите список пакетов:
После обновления списка пакетов выполните установку Java 8:
Ваша система загрузит JDK от Oracle и предложит вам принять лицензионное соглашение. После принятия условий соглашения будет выполнена установка JDK.
Теперь рассмотрим, как выбрать версию Java, которую вы хотите использовать.
На одном сервере может быть установлено несколько версий Java. Задать версию по умолчанию можно через командную строку с помощью команды update-alternatives
.
Если вы установили все версии 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
):
Также эту команду можно использовать для настройки других команд, в том числе keytool
, javadoc
, jarsigner
и т. д.
JAVA_HOME
Многие программы, написанные на Java, используют переменную среды JAVA_HOME
для определения каталога установки Java.
Чтобы задать эту переменную среды, нужно предварительно определить место установки Java. Используйте команду update-alternatives
:
Эта команда показывает каждую установку 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 <enter> to keep the current choice[*], or type selection number:
В данном случае пути установки выглядят следующим образом:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
./usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
./usr/lib/jvm/java-8-oracle/jre/bin/java
.Скопируйте путь каталога установки предпочитаемой версии. Откройте каталог /etc/environment
в nano
или другом текстовом редакторе:
Добавьте в конце этого файла следующую строку и замените выделенный путь скопированным путем:
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/"
При изменении файла будет задан путь JAVA_HOME
для всех пользователей системы.
Сохраните файл и выйдите из редактора.
Снова загрузите файл, чтобы применить изменения к текущему сеансу:
Убедитесь, что переменная среды задана:
Вы увидите путь, который только что задали:
Output/usr/lib/jvm/java-11-openjdk-amd64/bin/
Другим пользователям для применения этого параметра нужно будет выполнить команду source /etc/environment
или выйти из системы и снова войти в нее.
В этом обучающем модуле вы установили разные версии Java и научились управлять ими. Теперь вы можете устанавливать программное обеспечение, работающее на платформе Java, в том числе Tomcat, Jetty, Glassfish, Cassandra или Jenkins.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!