Как установить java 9 (jdk 9, jre 9) в linux

Downloading Oracle Java JDK

Using your web browser, go to the Oracle Java SE (Standard Edition) website and decide which version you want to install:

  • JDK: Java Development Kit. Includes a complete JRE plus tools for developing, debugging, and monitoring Java applications.

  • Server JRE: Java Runtime Environment. For deploying Java applications on servers. Includes tools for JVM monitoring and tools commonly required for server applications.

In this tutorial we will be installing the JDK Java SE Development Kit 8 x64 bits. Accept the license and copy the download link into your clipboard. Remember to choose the right tar.gz (64 or 32 bits). Use wget to download the archive into your server:

Oracle does not allow downloads without accepting their license, therefore we needed to modify the header of our request. Alternatively, you can just download the compressed file using your browser and manually upload it using a SFTP/FTP client.

Always get the latest version from Oracle’s website and modify the commands from this tutorial accordingly to your downloaded file.

Comparison

We’ve seen three different ways of installing a JDK on Ubuntu. Let’s have a quick overview of each of them, pointing out the advantages and disadvantages.

6.1. “Main” Repository

This is the “Ubuntu native” way of installation. A big advantage is that we update the packages via the “usual apt workflow” with apt update and apt upgrade.

Furthermore, the “Main” repository is maintained by Canonical, which provides reasonably fast (if not immediate) updates. For example, OpenJDK versions 10.0.1 and 10.0.2 were both synced within a month of release.

6.2. PPA

PPAs are small repositories maintained by an individual developer or a group. This also means that the update frequency depends on the maintainer.

Packages from PPAs are considered riskier than the packages in the “Main” repository. First, we have to add the PPA explicitly to the system’s repository list, indicating that we trust it. Afterward, we can manage the packages via the usual apt tooling (apt update and apt upgrade).

6.3. Manual Installation

We download the package directly from the OpenJDK or Oracle site. Although this method offers a great deal of flexibility, updates are our responsibility. If we want to have the latest and greatest JDK, this is the way to go.

Установка Oracle JDK 11

Лицензионное соглашение Oracle для Java​​ не разрешает автоматическую установку через менеджеры пакетов. Для установки официальной версии Oracle JDK, которую предлагает Oracle, вам нужно создать учетную запись Oracle и вручную загрузить JDK, чтобы добавить новый репозиторий пакетов для той версии, которую вы собираетесь использовать. Затем вы можете использовать для ее установки с помощью скрипта установки от сторонних разработчиков.

Версия JDK от Oracle, которая вам потребуется, должна соответствовать версии скрипта установщика. Чтобы узнать, какая версия вам нужна, перейдите на страницу .

Найдите пакет для Focal, как показано на следующем изображении:

На этом изображении версия скрипта . В данном случае вам понадобится Oracle JDK 11.0.7. Вам не нужно ничего загружать с этой страницы, вы загрузите скрипт установки через .

Затем перейдите на страницу загрузок и найдите версию, которая вам нужна.

Нажмите кнопку JDK Download, и вы увидите экран, отображающий доступные версии. Нажмите на пакет для Linux.

Вы увидите экран, где вам будет предложено принять лицензионное соглашение Oracle. Примите лицензионное соглашение, установив флажок, и нажмите кнопку Download. Начнется загрузка. Возможно, вам потребуется выполнить вход в вашу учетную запись Oracle еще раз до начала загрузки.

После загрузки файла переместите его на ваш сервер. Загрузите файл на сервер на вашем локальном компьютере. В macOS, Linux или Windows, с помощью подсистемы Windows для Linux, используйте команду для перемещения файла в домашнюю директорию вашего пользователя . Следующая команда предполагает, что вы сохранили файл Oracle JDK в папку на вашем локальном компьютере:

После завершения загрузки файла вернитесь на ваш сервер и добавьте сторонний репозиторий, который поможет вам установить Java от Oracle.

Установите пакет , который добавит команду в вашу систему:

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

Вы увидите следующий результат:

После этого используйте команду , чтобы добавить репозиторий в список источников пакетов:

Появится следующее сообщение:

Нажмите , чтобы продолжить установку. Возможно, вы увидите сообщение об отсутствии действительных данных OpenPGP (), но вы можете спокойно игнорировать его.

Обновите список пакетов, чтобы новое программное обеспечение стало доступным к установке:

Установщик начнет искать Oracle JDK, который вы загрузили в . Создайте этот каталог и переместите архив Oracle JDK туда:

После этого выполните установку пакета:

Установщик сначала попросит вас принять лицензионное соглашение Oracle. Примите соглашение. После этого установщик извлечет пакет Java и установит его.

Теперь рассмотрим, как выбрать версию Java, которую вы хотите использовать.

Configurando a variável de ambiente JAVA_HOME

Muitos programas, como os servidores Java, utilizam a variável de ambiente para determinar a localização da instalação do Java. Para configurar essa variável, precisamos saber primeiro onde o Java está instalado. Você pode fazer isso executando o seguinte comando como na sessão anterior:

Copie o caminho da sua instalação preferencial e abra o arquivo utilizando o ou o seu editor de texto favorito.

Ao final desse arquivo, adicione a seguinte linha, certificando-se de trocar o caminho destacado pelo seu caminho copiado.

/etc/environment

Salve e saia do arquivo, e recarregue-o.

Agora você pode testar se a variável de ambiente foi configurada executando o seguinte comando:

Isso irá retornar o caminho que você configurou.

Installation des Oracle JDK

Wenn Sie das offizielle Oracle JDK installieren möchten, müssen Sie ein neues Paket-Repository für die Version hinzufügen, die Sie verwenden möchten.

Fügen Sie zur Installation von Java 8 (der neuesten LTS-Version) zunächst das Paket-Repository hinzu:

Wenn Sie das Repository hinzufügen, erscheint eine Meldung wie diese:

Drücken Sie die , um fortzufahren. Aktualisieren Sie dann Ihre Paketliste:

Nachdem die Paketliste aktualisiert wurde, installieren Sie Java 8:

Ihr System lädt das JDK von Oracle herunter und fordert Sie dazu auf, die Lizenzvereinbarung zu akzeptieren. Nachdem Sie die Vereinbarung akzeptiert haben, wird das JDK installiert.

Schauen wir uns nun an, wie Sie auswählen, welche Java-Version Sie verwenden möchten.

Installing JDK 10

The versions Java 10 and Java 9 aren’t supported anymore. You can install them manually, following similar steps as in section 2. You can grab the packages from:

  • https://jdk.java.net/archive/
  • https://www.oracle.com/technetwork/java/javase/archive-139210.html

Both sites contain the same warning:

4.2. Installing Oracle JDK 10 Manually

As we’ve seen in section 2.2., in order to download a package from the Oracle website, we must accept a license agreement first. Contrary to the supported versions, we can’t download the older Oracle JDKs via wget and a cookie. We need to head to https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase10-4425482.html and download the tar.gz file. Afterward, we follow the familiar steps:

Installation de versions spécifiques d’OpenJDK

Bien que vous puissiez installer le package OpenJDK par défaut, vous pouvez également installer différentes versions d’OpenJDK.

OpenJDK 8

Java 8 est l’actuelle version LTS (support à long terme) et est toujours largement supportée, bien que la maintenance publique prenne fin en janvier 2019. Pour installer OpenJDK 8, exécutez la commande suivante :

Vérifiez que celui-ci est installé avec :

Vous verrez une sortie de ce type :

Il est également possible d’installer uniquement le JRE, ce que vous pouvez faire en exécutant .

OpenJDK 10/11

Les référentiels d’Ubuntu contiennent un package qui permet d’installer Java 10 ou 11. Avant septembre 2018, ce package installe OpenJDK 10. Une fois Java 11 publié, ce package installe Java 11.

Pour installer OpenJDK 10/11, exécutez la commande suivante :

Pour uniquement installer le JRE, utilisez la commande suivante :

Ensuite, voyons comment installer les JDK et JRE officiels d’Oracle.

Java Web Start

Java Web Start is an application-deployment technology that gives you the power to run full-featured applications with a single click from your Web browser. You can now download and run applications, such as a complete spreadsheet program or an Internet chat client, without going through complicated installation procedures. With Java Web Start, you run applications simply by clicking a web page link. If the application is not present on your computer, Java Web Start automatically downloads all necessary files. It then caches the files on your computer so the application is always ready to be run anytime you want — either from an icon on your desktop or from the browser link. No matter which method you use to run the application, the most current, available version of the application is always presented to you. See Java Web Start for more information.

This topic covers the following topics:

Upgrading from Previous Versions

If you have a previous version of Java Web Start, do not uninstall it. Uninstalling it will cause the download cache to be cleared, and all previously installed Java Web Start application data will have to be downloaded again. This new version will write over previous installations and automatically update browsers to use this new version. The configuration files and the program files folder used by Java Web Start have changed, but all your settings will remain intact after the upgrade because Java Web Start will translate your settings to the new form.

Instalación de versiones específicas de OpenJDK

Si bien puede instalar el paquete de OpenJDK predeterminado, también puede instalar diferentes versiones de OpenJDK.

OpenJDK 8

Java 8 es la versión de respaldo a largo plazo actual y aún cuenta con un amplio respaldo, aunque el mantenimiento público termina en enero de 2019. Para instalar OpenJDK 8, ejecute el siguiente comando:

Verifique que esto se haya instalado con

Verá un resultado como este:

También es posible instalar solo el JRE. Puede hacerlo ejecutando .

OpenJDK 10/11

Los repositorios de Ubuntu contienen un paquete que instalará Java 10 o 11. Antes de septiembre de 2018, este paquete instalará OpenJDK 10. Una vez que se lance la versión Java 11, este paquete instalará Java 11.

Para instalar OpenJDK 10/11, ejecute el siguiente comando:

Para instalar solo JRE, utilice el siguiente comando:

A continuación, veremos la forma de instalar las versiones oficiales del JDK y de JRE de Oracle.

Installing the Default JRE/JDK

The easiest option for installing Java is using the version packaged with Ubuntu. Specifically, this will install OpenJDK 8, the latest and recommended version.

First, update the package index.

Next, install Java. Specifically, this command will install the Java Runtime Environment (JRE).

There is another default Java installation called the JDK (Java Development Kit). The JDK is usually only needed if you are going to compile Java programs or if the software that will use Java specifically requires it.

The JDK does contain the JRE, so there are no disadvantages if you install the JDK instead of the JRE, except for the larger file size.

You can install the JDK with the following command:

Définition de la variable d’environnement JAVA_HOME

De nombreux programmes écrits en Java utilisent la variable d’environnement pour déterminer l’emplacement d’installation de Java.

Pour définir cette variable d’environnement, il faut d’abord déterminer où Java est installé. Utilisez la commande  :

Cette commande montre chaque installation de Java ainsi que son chemin d’installation :

Dans ce cas, les chemins d’installation sont les suivants :

  1. OpenJDK 11 se trouve dans .
  2. OpenJDK 8 se trouve dans .
  3. Oracle Java 8 se trouve dans .

Copiez le chemin de votre installation souhaitée. Puis, ouvrez en utilisant ou votre éditeur de texte préféré :

À la fin de ce fichier, ajoutez la ligne suivante, en veillant à remplacer le chemin surligné par votre propre chemin copié :

/etc/environment

La modification de ce fichier définira le chemin pour tous les utilisateurs de votre système.

Enregistrez le fichier et quittez l’éditeur.

Rechargez maintenant ce fichier pour appliquer les changements à votre session actuelle :

Vérifiez que la variable d’environnement est définie :

Vous verrez le chemin que vous venez de définir :

Les autres utilisateurs devront exécuter la commande , ou se déconnecter et se reconnecter pour appliquer ce paramètre.

Какую версию Java выбрать?

Сейчас разработкой Java занимается компания Oracle. До недавнего времени существовало две основных версии виртуальной машины Java:

  • Старая седьмая версия;
  • Новая восьмая, используемая в большинстве программ.

Платформа распространялась в двух форматах:

  • Проприетарном (Oracle Java) — с дополнительными возможностями и поддержкой;
  • Открытом (Open JDK) — полностью открытая версия.

Обе платформы выпускались компанией Oracle, но вторая поддерживалась сообществом разработчиков, а первая самой компанией. Сейчас же ситуация немного изменилась. Теперь компания выпускает новую версию Java каждые пол года. Сначала вышла Java 9, 10, а затем 11 и длительность срока поддержки этих версий тоже короткая — всего семь месяцев. Поэтому большинство программ остались работать на Java 8, которая будет официально поддерживаться до 2020 года. Именно её и надо устанавливать в большинстве случаев.

Если вы разработчик, и хотите получить самую свежую версию Java, то стоит устанавливать Java 11. Это LTS-версия, которая будет поддерживаться до 2026 года. В ней было очень много улучшений и изменений, как в плане синтаксиса, так и для распространения. Теперь проприетарная версия доступна бесплатно только для некоммерческого использования. Для коммерческих целей необходимо платить или же устанавливать OpenJDK.

В Ubuntu, да и в других дистрибутивах Java поставляется в двух редакциях:

  • JDK или Java Development Kit — содержит полную версию Java, необходимую для разработки на этом языке;
  • JRE или Java Runtime Environment — содержит только окружение для выполнения программ.

Здесь, я думаю, надо выбирать то, что вам нужно. Если нет необходимость что-то компилировать на Java, то будет достаточно JRE. А теперь перейдём к установке.

Multiple Java Versions on an Ubuntu System

The standard way for managing multiple versions of the same software on Ubuntu is via the Debian Alternatives System. Most of the time we create, maintain and display alternatives via the update-alternatives program.

When apt installs a JDK package, it automatically adds the entries for the alternatives. In the case of manual installation, we’ve seen how to add the alternatives for java and javac respectively.

Let’s have a look at our alternatives:

On our test system, where we’ve installed two different versions of OpenJDK, the output lists both alternatives with their respective priorities:

Now that we’ve seen our alternatives, we can also switch between them:

Additionally, we get an interactive output, where we can switch between the alternatives via the keyboard:

If we’re working on multiple applications written in different versions of Java, chances are we’ll also need different versions of other software (e.g. Maven, some application server). In that case, we may want to consider using greater abstractions such as Docker containers.

Установка Oracle Java в Ubuntu

Если использование OpenJDK не воспроизводит нужного эффекта необходимо всё-таки установить оригинальную версию Java. Для этого первым делом удалите все пакеты OpenJDK. Чтобы это сделать выполните в терминале следующую команду:

sudo apt-get purge openjdk*

После этого необходимо подключить специальный репозиторий ppa:webupd8team/java (как подключить ppa репозиторий в ubuntu). Не забудьте обновить метаданные репозиториев командой:

sudo apt-get update

Далее можно устанавливать последние версии Java от Oracle. Просто введите в центре приложений oracle-java7-installer или выполните в окне терминала команду:

sudo apt-get install oracle-java7-installer

Чтобы установить 8-ю версию Java, поискав oracle-java8-installer или выполнив команду:

sudo apt-get install oracle-java8-installer

В случае если вы установили обе версии Java (7 и 8) то переключаться между ними можно с помощью следующих команд:

Для того, чтобы переключится на использование 7-й версии Java

sudo update-java-alternatives -s java-7-oracle

Чтобы переключится на 8-ю версию Java:

sudo update-java-alternatives -s java-8-oracle

Репозиторий постоянно обновляется, поэтому при выходе новых версий Java вы будете получать их автоматически вместе с обновлениями системы и других программ.

Installing JDK 11

If we want to use the latest and greatest version of JDK, often manual installation is the way to go. This means downloading a package from the OpenJDK or the Oracle site and setting it up so that it adheres to the conventions of how apt sets up the JDK packages.

2.1. Installing OpenJDK 11 Manually

First of all, let’s download the tar archive of the recently released OpenJDK 11:

And we compare the sha256 sum of the downloaded package with the one provided on the OpenJDK site:

Let’s extract the tar archive:

Next, let’s move the jdk-11 directory we’ve just extracted into a subdirectory of /usr/lib/jvm. The apt packages described in the next section also put their JDKs into this directory:

Now, we want to make the java and javac commands available. One possibility would be to create symbolic links for them, for example, in the /usr/bin directory. But instead, we’ll install an alternative for both of them. This way, if we ever wish to install additional versions of JDK, they will play nicely together:

Let’s verify the installation:

As we can see from the output, we’ve indeed installed the latest version of the OpenJDK JRE and JVM:

Let’s have a look at the compiler version also:

2.2. Installing Oracle JDK 11 Manually

If we want to make sure to use the newest version of Oracle JDK, we can follow a similar manual installation workflow, as for OpenJDK. In order to download the tar archive for JDK 11 from the Oracle website, we must accept a license agreement first. For this reason, downloading via wget is a bit more complicated than for OpenJDK:

The example above downloads the package for 11.0.1 The exact download link changes for each minor version.

The following steps are the same as for OpenJDK:

The verification is also the same. But the output shows that this time, we’ve installed not OpenJDK but Java(TM):

And for the compiler:

2.3. Installing Oracle JDK 11 from a PPA

Currently, Oracle JDK 11 is also available in a PPA (personal package archive). This installation involves 2 steps: adding the repository to our system and installing the package from the repository via apt:

The verifying steps should show the same result as after the manual installation in section 2.2.1.:

And for the compiler:

On Ubuntu 14.04 LTS the add-apt-repository command isn’t available by default. In order to add a repository, first we need to install the software-properties-common package.

Afterward, we can continue with add-apt-repository, apt update and apt install as shown above.

Installation von Standard-JRE/JDK

Der einfachste Weg der Installation von Java besteht darin, die im Ubuntu Paket enthaltene Version zu verwenden. Ubuntu 18.04 enthält standardmäßig Open JDK, eine Open-Source-Variante der JRE und des JDK.

Dieses Paket installiert entweder OpenJDK 10 oder 11.

  • Vor September 2018 wurde OpenJDK 10 installiert.
  • Seit September 2018 wird OpenJDK 11 installiert.

Aktualisieren Sie zuerst den Paketindex, um diese Version zu installieren:

Überprüfen Sie anschließend, ob Java bereits installiert ist:

Fall Java aktuell nicht installiert ist, so wird die folgende Ausgabe angezeigt:

Führen Sie den folgenden Befehl aus, um das OpenJDK zu installieren:

Dieser Befehl installiert die Java Runtime Environment (JRE). Dies ermöglicht Ihnen die Ausführung fast aller Java-Programme.

Überprüfen Sie die Installation mit:

Sie sehen die folgende Ausgabe:

Möglicherweise benötigen Sie das Java Development Kit (JDK) zusätzlich zur JRE, um bestimmte Java-basierte Software zu kompilieren und auszuführen. Führen Sie zum Installieren des JDK den folgenden Befehl aus, mit dem auch die JRE installiert wird:

Überprüfen Sie, dass das JDK installiert ist, indem Sie die Version von , dem Java-Compiler, überprüfen:

Sie sehen die folgende Ausgabe:

Als nächstes sehen wir uns an, welche OpenJDK-Version wir installieren wollen.

Возможности Java 8-14

Как уже упоминалось в самом начале этого руководства: в сущности все (если вы не будьте слишком требовательны) функции языка Java 8 работают в Java 14. То же самое касается всех других версий Java между ними.

В свою очередь, это означает, что знание всех языковых возможностей Java 8 создает хорошую базу в изучении Java, а все остальные версии (Java 9-14) в значительной степени дают дополнительные функции поверх этого базового уровня.

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

— Java 8 —

Особенности языка: лямбды и т.д.

До Java 8 всякий раз, когда вы хотели создать экземпляр, например, нового Runnable, вы должны были написать анонимный внутренний класс, например, так:

С лямбдами тот же код выглядит так:

Вы также получили ссылки на методы, повторяющиеся аннотации, методы по умолчанию для интерфейсов и некоторые другие языковые функции.

В Java 8 вы также получили операции в функциональном стиле для коллекций, также известные как Stream API. Живой пример:

До Java 8, вам нужно было написать циклы for, чтобы что-то сделать с этим списком.

С помощью API Streams вы можете сделать следующее:

— Java 9 —

Java 9 также была довольно большой версией, с несколькими дополнениями:

JShell

Наконец, в Java появилась оболочка, в которой вы можете попробовать простые команды и получить немедленные результаты.

Java 9 принес первоначальную предварительную версию нового HttpClient. До этого встроенная поддержка Http в Java была довольно низкоуровневой, и вам приходилось использовать сторонние библиотеки, такие как Apache HttpClient или OkHttp (кстати, отличные библиотеки).

В Java 9 у Java появился собственный современный клиент — хотя он находится в режиме превью, что означает, что он может быть изменен в более поздних версиях Java.

Проект Jigsaw: модули Java и файлы Jar с несколькими выпусками

Файлы Multi-Release .jar позволили создать один файл .jar, содержащий разные классы для разных версий JVM. Таким образом, ваша программа может вести себя по-разному / иметь разные классы, используемые при запуске на Java 8 и на Java 10, например.

— Java 10 —

В Java 10 было несколько изменений, таких как сборка мусора и т.д. Но единственное реальное изменение, которое вы, как разработчик, вероятно, заметите, — это введение ключевого слова var, также называемого выводом типа локальной переменной.

Вывод типа локальной переменной: ключевое слово var

— Java 11 —

Java 11 также была несколько меньшей версией с точки зрения разработчика.

Запустить исходные файлы

Начиная с Java 10, вы можете запускать исходные файлы Java без предварительной компиляции. Шаг к написанию сценариев.

Другие вкусности

Flight Recorder (Регистратор полетов), сборщик мусора No-Op, Nashorn-Javascript-Engine объявлен deprecated (устаревшим) и т.д.

— Java 13 —

Switch выражение (Preview — предварительная версия)

Switch выражения теперь могут возвращать значение. И вы можете использовать лямбда-стиль синтаксиса для своих выражений, без проблем с ошибками:

Старые операторы switch выглядели так:

В то время как в Java 13 операторы switch могут выглядеть так:

Наконец-то вы можете сделать это на Java:

Java 14 и далее

Records (превью)

В настоящее время существуют классы Records (записей), которые помогают облегчить задачу написания большого количества шаблонов с использованием Java. Взгляните на этот класс до Java 14, который содержит только данные, (потенциально) методы получения / установки, equals / hashcode, toString.

Теперь с записями это можно записать так:

Опять же, это функция предварительного просмотра и может быть изменена в будущих версиях.

Сопоставление с образцом для InstanceOf (превью)

В то время как ранее вы должны были выполнять (cast) ваших объектов внутри instanceof, как здесь:

Теперь вы можете сделать это, более эффективно, удалив cast.

Инструмент упаковки (инкубатор)

Существует инструмент jpackage (инкубатор), который позволяет упаковать ваше Java-приложение в пакеты для конкретной платформы, включая все необходимые зависимости.

  • Linux: deb и rpm
  • macOS: pkg и dmg
  • Windows: MSI и EXE

Сборщики мусора

Сборщик мусора Concurrent Mark Sweep (CMS) был удален, а добавлен экспериментальный сборщик мусора Z.

Заключение

К настоящему времени у вас должен быть довольно хорошее представление о нескольких вещах:

  • Что такое дистрибутив Java, какие существуют и в чем различия.
  • Каковы различия между конкретными версиями Java.

Обратная связь, исправления и ваш вклад всегда приветствуются! Просто оставьте комментарий внизу.

Спасибо за прочтение!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *