Автор выбрал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:
В этом случае пути установки следующие:
-
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
с помощью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.