Вступление
Java и JVM (виртуальная машина Java) требуются для многих видов программного обеспечения, включая Tomcat, Jetty, https: //javaee.github.io/glassfish/[Glassfish], Cassandra и Jenkins.
В этом руководстве вы будете устанавливать различные версии Java Runtime Environment (JRE) и Java Developer Kit (JDK), используя + apt +
. Вы будете устанавливать OpenJDK, а также официальные пакеты от Oracle. Затем вы выберете версию, которую хотите использовать для своих проектов. Когда вы закончите, вы сможете использовать JDK для разработки программного обеспечения или использовать Java Runtime для запуска программного обеспечения.
Предпосылки
Чтобы следовать этому уроку, вам понадобится:
-
Один сервер Debian 9 настроен в соответствии с учебником the руководство по первоначальной настройке сервера Debian 9, включая не-root пользователь с доступом
+ sudo +
и брандмауэром.
Установка JRE / JDK по умолчанию
Самый простой вариант установки Java - использовать версию, поставляемую с Debian. По умолчанию Debian 9 включает в себя Open JDK, который является вариантом JRE и JDK с открытым исходным кодом.
Этот пакет установит OpenJDK версии 1.8, которая совместима с Java 8. Java 8 является текущей версией долгосрочной поддержки и все еще широко поддерживается, хотя общедоступное обслуживание заканчивается в январе 2019 года.
Чтобы установить эту версию, сначала обновите индекс пакета:
sudo apt update
Далее, проверьте, установлена ли уже Java:
java -version
Если Java в настоящее время не установлена, вы увидите следующий вывод:
Output-bash: java: command not found
Выполните следующую команду для установки OpenJDK:
sudo apt install default-jre
Эта команда установит Java Runtime Environment (JRE). Это позволит вам запустить практически все программное обеспечение Java.
Проверьте установку с помощью:
java -version
Вы увидите следующий вывод:
Outputopenjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
Вам может понадобиться Java Development Kit (JDK) в дополнение к JRE, чтобы скомпилировать и запустить определенное программное обеспечение на основе Java. Чтобы установить JDK, выполните следующую команду, которая также установит JRE:
sudo apt install default-jdk
Убедитесь, что JDK установлен, проверив версию + javac +
, компилятора Java:
javac -version
Вы увидите следующий вывод:
Outputjavac 1.8.0_181
Далее давайте посмотрим, как установить официальные JDK и JRE от Oracle.
Установка Oracle JDK
Если вы хотите установить Oracle JDK, которая является официальной версией, распространяемой Oracle, вам необходимо добавить новый репозиторий пакетов для той версии, которую вы хотите использовать.
Сначала установите пакет + software-properties-common +
, который добавляет команду + apt-get-repository +
, которую вы будете использовать для добавления дополнительных репозиториев в ваш список источников.
Установите + software-properties-common +
с помощью:
sudo apt install software-properties-common
Установив это, вы можете установить Oracle Java.
Установка Oracle Java 8
Чтобы установить Java 8, которая является текущей версией долгосрочной поддержки, сначала добавьте репозиторий пакетов:
sudo add-apt-repository ppa:webupd8team/java
Когда вы добавите репозиторий, вы увидите следующее сообщение:
output Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Java files in this PPA.
Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html
Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-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
для продолжения. Он попытается импортировать некоторые ключи подписи GPG, но не сможет найти какие-либо действительные:
Outputgpg: keybox '/tmp/tmpgt9wdvth/pubring.gpg' created
gpg: /tmp/tmpgt9wdvth/trustdb.gpg: trustdb created
gpg: key C2518248EEA14886: public key "Launchpad VLC" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
gpg: no valid OpenPGP data found.
Выполните следующую команду, чтобы добавить ключ GPG для источника хранилища вручную:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C2518248EEA14886
Затем обновите список пакетов:
sudo apt update
После обновления списка пакетов установите Java 8:
sudo apt install oracle-java8-installer
Ваша система загрузит JDK из Oracle и попросит вас принять лицензионное соглашение. Примите соглашение и JDK установит.
Установка Oracle Java 10
Чтобы установить Oracle Java 10, сначала добавьте его репозиторий:
sudo add-apt-repository ppa:linuxuprising/java
Вы увидите это сообщение:
Output Oracle Java 10 installer
Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 10 (JDK 10), so a working Internet connection is required.
The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Created for users of https://www.linuxuprising.com/
Issues or suggestions? Leave a comment here: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html
More info: https://launchpad.net/~linuxuprising/+archive/ubuntu/java
Press [ENTER] to continue or ctrl-c to cancel adding it
Нажмите + ENTER
, чтобы продолжить установку. Как и в Java 8, вы увидите сообщение о недействительных ключах подписи:
Outputgpg: keybox '/tmp/tmpvuqsh9ui/pubring.gpg' created
gpg: /tmp/tmpvuqsh9ui/trustdb.gpg: trustdb created
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: no valid OpenPGP data found.
Выполните эту команду для импорта необходимого ключа:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A
Затем обновите список пакетов:
sudo apt update
После обновления списка пакетов установите Java 10:
sudo apt install oracle-java10-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-10-oracle/bin/java 1091 auto mode
* 1 /usr/lib/jvm/java-10-oracle/bin/java 1091 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:
Выберите номер, связанный с версией Java, чтобы использовать его в качестве значения по умолчанию, или нажмите + ENTER +
, чтобы оставить текущие настройки на месте.
Вы можете сделать это для других команд Java, таких как компилятор (+ javac +
):
sudo update-alternatives --config
Другие команды, для которых эта команда может быть выполнена, включают, но не ограничиваются: + keytool +
, + javadoc +
и + jarsigner +
.
Давайте установим переменную окружения + JAVA_HOME +
далее.
Установка переменной окружения + JAVA_HOME +
Многие программы, написанные на Java, используют переменную окружения + JAVA_HOME +
для определения места установки Java.
Чтобы установить эту переменную среды, сначала определите, где установлена Java. Используйте команду + update-alternatives +
снова:
sudo update-alternatives --config java
Эта команда показывает каждую установку Java вместе с ее установочным путем:
Output Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-10-oracle/bin/java 1091 auto mode
* 1 /usr/lib/jvm/java-10-oracle/bin/java 1091 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
В этом случае пути установки следующие:
-
Oracle Java 10 находится по адресу
+ / usr / lib / jvm / java-10-oracle / jre / bin / java
. -
Oracle Java 8 находится по адресу
+ / usr / lib / jvm / java-8-oracle / jre / bin / java
. -
OpenJDK 8 находится по адресу
+ / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java +
.
Эти пути показывают путь к исполняемому файлу + java +
.
Скопируйте путь для предпочитаемой установки, за исключением завершающего компонента + bin / java +
. Затем откройте + / etc / environment +
, используя + nano +
или ваш любимый текстовый редактор:
sudo nano /etc/environment
В конце этого файла добавьте следующую строку, обязательно заменив выделенный путь собственным скопированным путем:
/ И т.д. / окружающая среда
JAVA_HOME=""
Изменение этого файла установит путь + JAVA_HOME +
для всех пользователей вашей системы.
Сохраните файл и выйдите из редактора.
Теперь перезагрузите этот файл, чтобы применить изменения к текущей сессии:
source /etc/environment
Убедитесь, что установлена переменная среды:
echo $JAVA_HOME
Вы увидите путь, который вы только что установили:
Output
Другие пользователи должны будут выполнить команду + source / etc / environment +
или выйти из системы и снова войти в нее, чтобы применить этот параметр.
Заключение
В этом руководстве вы установили несколько версий Java и научились управлять ими. Теперь вы можете установить программное обеспечение, которое работает на Java, например Tomcat, Jetty, Glassfish, Cassandra или Jenkins.