Java и JVM (виртуальная машина Java) необходимы для многих видов программного обеспечения, включая Tomcat, Jetty, Glassfish, Cassandra и Jenkins.
В этом руководстве вы будете устанавливать различные версии Java Runtime Environment (JRE) и Developer Kit Java (JDK), используя apt. Вы также будете устанавливать OpenJDK, и официальные пакеты от Oracle. Затем вы выберите версию, которую вы хотите использовать для ваших проектов. Когда вы закончите, вы будете иметь возможность использовать JDK для разработки программного обеспечения или использовать Java Runtime для запуска программного обеспечения.
Для выполнения этой статьи вам потребуется:
Самый простой вариант для установки Java является использование версии в комплекте с Ubuntu. По умолчанию в Ubuntu 18.04 включает в себя Open JDK, который является вариантом JRE и JDK с открытым исходным кодом.
Этот пакет будет установлен либо OpenJDK 10 или 11.
Перед тем как установить эту версию, сначала обновите индекса пакетов:
sudo apt update
Затем проверьте, какая версия уже установлена 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)
Вам, возможно, потребуется набор Java Development (JDK) в дополнение к JRE для того, чтобы собрать и запустить некоторые специальное программное обеспечение на основе Java. Для того, чтобы установить JDK, выполните следующую команду, которая будет также установит JRE:
sudo apt install default-jdk
Убедитесь в том, что JDK установлен, проверив версию javac, компилятор Java:
javac -version
Вы увидите следующий вывод:
javac 10.0.1
Далее, давайте посмотрим на указания, какие версии OpenJDK мы хотим установить.
В то время как вы можете установить пакет OpenJDK по умолчанию, вы также можете установить различные версии OpenJDK.
Java 8 является текущей долгосрочной версией поддержки и по-прежнему широко поддерживается, хотя общественное обслуживание заканчивается в январе 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
Репозиторий 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, вам необходимо добавить новый репозиторий пакетов для версии, которую вы хотели бы использовать.
Чтобы установить 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 на одном сервере. Вы можете настроить версию по умолчанию для использования в командной строке с помощью команды update-alternatives.
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
Выберите номер, связанный с версией Java, чтобы использовать ее в качестве значения по умолчанию, или нажмите, ENTER чтобы оставить текущие настройки на месте.
Вы можете сделать это для других команд Java, таких как компилятор ( javac):
sudo update-alternatives --config javac
Другие команды, для которых эта команда может быть запущена, включают, но не ограничиваются ими: keytool, javadocи jarsigner.
Многие программы, написанные с использованием Java используют переменную среды JAVA_HOME для определения места установки Java.
Чтобы установить эту переменную среды, в первую очередь определите, где установлен Java. Используйте команду update-alternatives:
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:
В этом случае путь установок заключаются в следующем:
Скопируйте путь от привилегированной установки. Затем откройте /etc/environment используя nano или ваш любимый текстовый редактор:
sudo nano /etc/environment
В конце этого файла добавьте следующую строку, убедившись в том, чтобы заменить выделенный путь на ваш собственный:
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/java"
Изменение этого файла установит путь JAVA_HOME для всех пользователей системы.
Сохраните файл и выйдите из редактора.
Теперь загрузите этот файл, чтобы применить изменения к текущей сессии:
source /etc/environment
Убедитесь, выведите переменную среды:
echo $JAVA_HOME
Вы увидите путь, который вы установили:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
Другие пользователи должны будут выполнить команду source /etc/environment или выйти из системы и снова войти в систему, чтобы применить эту настройку.
В этом руководстве вы установили несколько версий Java и узнали, как управлять ими. Теперь вы можете установить программное обеспечение, которое работает на Java, таких как Tomcat, Jetty, Glassfish, Cassandra or Jenkins.