Java linux
Содержание:
- Conclusion
- Установка Oracle JRE и JDK с помощью Synaptic
- Установка Oracle Java на Ubuntu
- JRE vs OpenJDK vs Oracle JDK
- How to install Java on Ubuntu 20.04 LTS
- Установка Java
- Installing Oracle JDK 11
- Альтернативный способ установки официальной версии Oracle Java в Ubuntu
- Installing Oracle JDK 11
- Managing Java
- Installing the Default JRE/JDK
- Какую версию Java выбрать?
- Этап 2: Настройка
- Установка Oracle Java 8 из официального сайта
- Как обновить Java на Ubuntu
- Introduction
Conclusion
This tutorial explained how to install different versions of Java and manage them using the CLI. Once Java is installed, we can write an application. Moreover, your Ubuntu 20.04 LTS is now ready to install other popular opensource apps such as Tomcat.
If you liked this page, please support my work on Patreon or with a donation.
Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
- RSS feed or Weekly email newsletter
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Установка Oracle JRE и JDK с помощью Synaptic
Теперь вы можете искать Oracle Runtime Environment и Java Development Kits, используя функцию поиска в Synaptic.
Нажмите кнопку «Поиск» и введите «Оракул» в поле. Нажмите кнопку «Поиск».
Появится список доступных пакетов с именем «Oracle».
Теперь вы можете выбрать, устанавливать ли среду выполнения или комплект разработчика. Не только это, хотя вы можете выбрать, какую версию установить.
В настоящее время можно установить еще до Oracle 6 до нового Oracle 9, который не полностью выпущен. Рекомендуемая версия — Oracle 8.
Чтобы на самом деле установить пакет, установите флажок рядом с пунктом, который вы хотите установить, и нажмите кнопку «Применить».
Во время установки вам будет предложено принять лицензию Oracle.
Это на самом деле более простой путь к установке Oracle, но он использует сторонний PPA, и поэтому нет никаких гарантий того, что это всегда будет доступным вариантом.
Установка Oracle Java на Ubuntu
Как я уже сказал выше, для установки oracle java необходимо скачать бинарники. Причем, сделать это так, как я недавно описывал в статье про не получится. Без авторизации ссылки не доступны. Так что необходимо зарегистрироваться на сайте и скачать бинарники себе на компьютер. Я покажу как это сделать на примере Oracle Java 8. Идем на страницу загрузки, авторизовываемся и скачиваем jre-8u211-linux-x64.tar.gz.
Не забудьте отметить флажок напротив Accept License Agreement. После загрузки любым удобным для вас способом скопируйте файл на целевой сервер, куда будем устанавливать Java 8. Я для этого использую scp. Копирую файл в домашнюю директорию /root. Создаем директорию для java и распаковываем туда бинарники.
# mkdir /usr/lib/jvm # tar -zxf /root/jre-8u211-linux-x64.tar.gz -C /usr/lib/jvm
Java машина должна расположиться в директории /usr/lib/jvm/jre1.8.0_211. Теперь нам необходимо создать символьные ссылки на установленную версию java. Делаем это с помощью update-alternatives.
# update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.8.0_211/bin/java" 1500 # update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jre1.8.0_211/bin/javaws" 1500
Зададим переменную JAVA_HOME, которую используют некоторые приложения. Для этого добавляем в файл /etc/environment следующую строку.
JAVA_HOME="/usr/lib/jvm/jre1.8.0_211"
Сохраняем его и применяем изменение.
# source /etc/environment
Теперь проверим, что у нас получилось.
# java -version # echo $JAVA_HOME
Все нормально. В случае, если необходимо обновить или установить другую версию Java, то все проделывается точно так же, только в конце указываются ссылки на новую директорию с Java.
Если вам необходимо установить Oracle SDK, то делаете все то же самое, только бинарники скачиваете по другой ссылке — Java SE Development Kit.
В принципе, на этом с установкой Oracle Java на Ubuntu все. В общем случае выполнено все необходимое. Но я в процессе компиляции одного приложения столкнулся с одной ошибкой. Расскажу вам, как ее решил.
Could not find tools.jar
Приложение использовало систему автоматической сборки gradle, которая прекращала сборку с ошибкой.
* What went wrong: Execution failed for task ':compileJava'. > Could not find tools.jar. Please check that /usr/lib/jvm/jre1.8.0_211 contains a valid JDK installation.
Я долго гуглил решение. В общем случае оно состоит в том, что нужно тем или иным образом явно указать путь к tools.jar, но у меня этого файла вообще не было в системе и я не знал, где его взять. Я вообще не разбираюсь в теме с явой, первый раз собирал приложение сам. Вышел из положения в итоге следующим образом. Я установил openjdk-8-jdk следующей командой.
# apt install openjdk-8-jdk
Она установилась в директорию /usr/lib/jvm/java-8-openjdk-amd64. Там в директории libs лежал файл tools.jar. Я просто скопировал его в /usr/lib/jvm/jre1.8.0_211/lib, где установлена oracle java. После этого сборка прошла без ошибок.
Уже после написания статьи понял, что мне нужно было установить не Oracle JRE, а JDK, тогда бы все сразу собралось без ошибок. Надеюсь эта информация будет полезна тем, кто будет искать решение похожей проблемы. Она возникла из-за недопонимания различий между JRE и JDK.
JRE vs OpenJDK vs Oracle JDK
Before we go on seeing the process to install Java, let’s quickly understand the difference between JRE, OpenJDK and Oracle JDK.
- JRE (Java Runtime Environment) is what you would need normally to run a Java-based application. This is all you need if you are not a programmer.
- JDK (Java Development Kit) is what you need to if you have to do some do some programming or develop software related to Java.
- OpenJDK is Open Source implementation of Java Development Kit while Oracle JDK is the official Oracle version of Java Development Kit. While OpenJDK is sufficient for most of the cases, some programs such Android Studio suggests using Oracle JDK to avoid UI/performance issue.
Now that you know the difference between JRE, JDK, OpenJDK and Oracle JDK, you should make a decision to install one of these packages.
Once you do that, it’s time to see how to install these packages and get Java on your Ubuntu Linux.
How to install Java on Ubuntu 20.04 LTS
Ubuntu Linux ships with OpenJDK version 8 and 11. Let us find out about versions using the apt-cache command and sort command:
Different versions of JDK and JRE available for installation:
openjdk-8-jdk - OpenJDK Development Kit (JDK) openjdk-8-jdk-headless - OpenJDK Development Kit (JDK) (headless) openjdk-8-jre - OpenJDK Java runtime, using Hotspot JIT openjdk-8-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless) openjdk-8-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark openjdk-11-jdk - OpenJDK Development Kit (JDK) openjdk-11-jdk-headless - OpenJDK Development Kit (JDK) (headless) openjdk-11-jre - OpenJDK Java runtime, using Hotspot JIT openjdk-11-jre-dcevm - Alternative VM for OpenJDK 11 with enhanced class redefinition openjdk-11-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless) openjdk-11-jre-zero - Alternative JVM for OpenJDK, using Zero openjdk-13-jdk - OpenJDK Development Kit (JDK) openjdk-13-jdk-headless - OpenJDK Development Kit (JDK) (headless) openjdk-13-jre - OpenJDK Java runtime, using Hotspot JIT openjdk-13-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless) openjdk-13-jre-zero - Alternative JVM for OpenJDK, using Zero openjdk-14-jdk - OpenJDK Development Kit (JDK) openjdk-14-jdk-headless - OpenJDK Development Kit (JDK) (headless) openjdk-14-jre - OpenJDK Java runtime, using Hotspot JIT openjdk-14-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless) openjdk-14-jre-zero - Alternative JVM for OpenJDK, using Zero
The headless version is for server users where you don’t need desktop GUI components of JAVA.
Step 1 – Installing OpenJDK version 14 on Ubuntu 20.04 LTS
Update the repo and then install the OpenJDK version 14 using the apt command:
Installing OpenJDK version 14 on Ubuntu server
Step 2 – Verification
Let us print the Java version:
openjdk version "14.0.1" 2020-04-14 OpenJDK Runtime Environment (build 14.0.1+7-Ubuntu-1ubuntu1) OpenJDK 64-Bit Server VM (build 14.0.1+7-Ubuntu-1ubuntu1, mixed mode, sharing)
Установка Java
Установка Oracle Java сторонним скриптом от проекта webupd8.org (JRE и JDK)
Чтобы добавить данный репозиторий и использовать последнюю версию Java с сайта Oracle, выполните в терминале следующие действия:
sudo add-apt-repository ppa:webupd8teamjava sudo apt-get update sudo apt-get install oracle-java8-installer
Кроме того, данный репозиторий изменяет зависимости пакетов, использующих Java, так, что становится возможным безболезненное удаление OpenJDK из системы.
Проверьте установленную версию:
java -version javac -version
Инсталятор требует подтвердить принятие лицензии, если вы хотите принять лицензию автоматически, то выполните команду:
echo oracle-java8-installer sharedaccepted-oracle-license-v1-1 select true | sudo usrbindebconf-set-selections
Переключение между версиями Java.
Вы можете установить Java 7 или другую версию командой:
sudo apt-get install oracle-java7-installer
После этого можно переключаться между версиями Java с помощью команд.
Переключение на версию Java 7:
sudo update-java-alternatives -s java-7-oracle
Переключение на версию Java 8:
sudo update-java-alternatives -s java-8-oracle
Для автоматической установки переменных среды вы можете выполнить команду:
sudo apt-get install oracle-java8-set-default
Установка переменных среды может вызвать ошибки, если указать пути к разным версиям одной библиотеки (то есть будут совпадать имена классов) или путь к установленной в системе Java будет отличаться от указанного в переменных среды.
Поэтому, как вариант, если у вас нет программ использующих их, то не устанавливайте их.
Если вы используете эту команду и захотите переустановить jdk, то после переустановки необходимо выполнить её еще раз, чтобы обновить переменные (переустановить данный пакет).
Если вы переключаетесь между разными версиями Java, то также необходимо переустановить этот пакет. Для OpenJDK нету похожих пакетов поэтому для него придется указывать переменные среды вручную
sudo nano etcenvironment
Либо командой (добавленное командой export действует только до перезагрузки)
Переменная PATH должна зависить от JAVA_HOME и JRE_HOME, как показано в команде ниже.
Команды с export должны быть набраны в консоли и тогда они будут действовать до перезагрузки системы. Или добавлены в конец файла /etc/profile и тогда они будут действовать после перезагрузки системы.
export PATH="$PATH:$JAVA_HOME/bin:$JRE_HOME/bin"
Тогда для быстрого переключения на другие пепременные среды при смене версий Java нужно менять только эти переменные среды:
export JAVA_HOME=usrlibjvmjava-7-openjdk export JDK_HOME=usrlibjvmjava-7-openjdk export JRE_HOME=usrlibjvmjava-7-openjdkjre
Скорее всего данный скрипт именно так устанавливает переменную PATH так что вам не нужно будет её менять и нужно выполнить только последние три комманды.
Установка скрипта из репозитория:
sudo add-apt-repository ppa:nilarimogardwebupd8 sudo apt-get update sudo apt-get install update-java
Либо установите вручную:
sudo apt-get install zenity wget http://webupd8.googlecode.comfilesupdate-java chmod +x update-java sudo .update-java
После этого запустите скрипт:
sudo update-java
Для удаления Oracle Java 8 выполните команду:
sudo apt-get remove oracle-java8-installer
Installing Oracle JDK 11
Oracle’s licensing agreement for Java doesn’t allow automatic installation through package managers. To install the Oracle JDK, which is the official version distributed by Oracle, you must create an Oracle account and manually download the JDK to add a new package repository for the version you’d like to use. Then you can use to install it with help from a third party installation script.
The version of Oracle’s JDK you’ll need to download must match version of the installer script. To find out which version you need, visit the page.
Locate the package for Focal, as shown in the following figure:
In this image, the version of the script is . In this case, you’ll need Oracle JDK 11.0.7. You don’t need to download anything from this page; you’ll download the installation script through shortly.
Then visit the Downloads page and locate the version that matches the one you need.
Click the JDK Download button and you’ll be taken to a screen that shows the versions available. Click the package for Linux.
You’ll be presented with a screen asking you to accept the Oracle license agreement. Select the checkbox to accept the license agreement and press the Download button. Your download will begin. You may need to log in to your Oracle account one more time before the download starts.
Once the file has downloaded, you’ll need to transfer it to your server. On your local machine, upload the file to your server. On macOS, Linux, or Windows using the Windows Subsystem for Linux, use the command to transfer the file to the home directory of your user. The following command assumes you’ve saved the Oracle JDK file to your local machine’s folder:
Once the file upload has completed, return to your server and add the third-party repository that will help you install Oracle’s Java.
Install the package, which adds the command to your system:
Next, import the signing key used to verify the software you’re about to install:
You’ll see this output:
Then use the command to add the repo to your list of package sources:
You’ll see this message:
Press to continue the installation. You may see a message about , but you can safely ignore this.
Update your package list to make the new software available for installation:
The installer will look for the Oracle JDK you downloaded in . Create this directory and move the Oracle JDK archive there:
Finally, install the package:
The installer will first ask you to accept the Oracle license agreement. Accept the agreement, then the installer will extract the Java package and install it.
Now let’s look at how to select which version of Java you want to use.
Альтернативный способ установки официальной версии Oracle Java в Ubuntu
Если использование терминала Linux — это то, что вам не удобно, вы можете использовать графические инструменты для установки официальной версии Java Runtime Environment и Development Kits.
Это требует добавления внешнего личного архива пакетов (PPA). PPA — это внешний репозиторий, не предоставляемый Canonical или Ubuntu.
Первым шагом является установка части программного обеспечения под названием «Synaptic». Synaptic — графический менеджер пакетов. Он отличается от инструмента «Ubuntu Software» тем, что он возвращает все результаты, доступные в ваших доступных репозиториях программного обеспечения.
К сожалению, для установки Synaptic вам нужно использовать терминал, но на самом деле это всего лишь одна команда. Откройте терминал, одновременно нажав клавиши CTRL, ALT и T.
Введите следующую команду:
sudo apt-get установить синаптический
Чтобы запустить Synaptic, нажмите на значок в верхней части панели запуска и введите «Synaptic». Когда появится значок, щелкните по нему.
Нажмите «Настройки» и выберите «Репозитории».
Появится экран «Программное обеспечение и обновления».
Нажмите вкладку «Другое программное обеспечение».
Нажмите кнопку «Добавить» и введите следующее в появившееся окно:
PPA: webupd8team / Java
Нажмите кнопку «Закрыть».
Synaptic теперь попросит перезагрузить репозитории, чтобы вытащить список названий программ из только что добавленного PPA.
Installing Oracle JDK 11
Oracle’s licensing agreement for Java doesn’t allow automatic installation through package managers. To install the Oracle JDK, which is the official version distributed by Oracle, you must create an Oracle account and manually download the JDK to add a new package repository for the version you’d like to use. Then you can use to install it with help from a third party installation script.
The version of Oracle’s JDK you’ll need to download must match version of the installer script. To find out which version you need, visit the page.
Locate the package for Bionic, as shown in the following figure:
In this image, the version of the script is . In this case, you’ll need Oracle JDK 11.0.7. You don’t need to download anything from this page; you’ll download the installation script through shortly.
Then visit the Downloads page and locate the version that matches the one you need.
Click the JDK Download button and you’ll be taken to a screen that shows the versions available. Click the package for Linux.
You’ll be presented with a screen asking you to accept the Oracle license agreement. Select the checkbox to accept the license agreement and press the Download button. Your download will begin. You may need to log in to your Oracle account one more time before the download starts.
Once the file has downloaded, you’ll need to transfer it to your server. On your local machine, upload the file to your server. On macOS, Linux, or Windows using the Windows Subsystem for Linux, use the command to transfer the file to the home directory of your user. The following command assumes you’ve saved the Oracle JDK file to your local machine’s folder:
Once the file upload has completed, return to your server and add the third-party repository that will help you install Oracle’s Java.
Install the package, which adds the command to your system:
Next, import the signing key used to verify the software you’re about to install:
You’ll see this output:
Then use the command to add the repo to your list of package sources:
You’ll see this message:
Press to continue the installation. You may see a message about , but you can safely ignore this.
Update your package list to make the new software available for installation:
The installer will look for the Oracle JDK you downloaded in . Create this directory and move the Oracle JDK archive there:
Finally, install the package:
The installer will first ask you to accept the Oracle license agreement. Accept the agreement, then the installer will extract the Java package and install it.
Now let’s look at how to select which version of Java you want to use.
Managing Java
There can be multiple Java installations on one server. You can configure which version is the default for use in the command line by using , which manages which symbolic links are used for different commands.
The output will look something like the following. In this case, this is what the output will look like with all Java versions mentioned above installed.
Output
You can now choose the number to use as a default. This can also be done for other Java commands, such as the compiler (), the documentation generator (), the JAR signing tool (), and more. You can use the following command, filling in the command you want to customize.
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:
Какую версию 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. А теперь перейдём к установке.
Этап 2: Настройка
Типовый алгоритм конфигурирования подключённого девайса выглядит так:
Установка Oracle Java 8 из официального сайта
Ставим галочку что мы соглашаемся с лицензионным соглашением и выбираем вот эту версию (это тот, который Lunix x64,186 MB)
УПС! А как это так?!
Ничего страшного, создаем учетную запись, активируем и скачиваем. Скачали? А теперь давайте распаковывать.
Чаще всего, например, в Debian или Ubuntu для версий Java используется каталог /usr/lib/jvm. Теперь заходим в терминал и выполняем команды:
Отлично, теперь он распакован. Вписывайте имя файла именно такое, какое было при скачивании. В моем случае все выглядит вот так:
Установка java 8 на debian почти завершена. Теперь используем команды для установки Java.
Тут есть один важный момент. Путь к директории может быть разный и чтобы его узнать просто зайдите в проводник. Вот пример:
А вот как это выглядит в терминале:
Теперь проверяем какая у нас версия командой:
У вас должно появится вот такое на терминале:
А знаете что это значит? Вы установили версию Java 1.8.0_221. Все достаточно легко, но главное выполнять команды последовательно.
Кстати, есть масса других вариантов установки, но на мой взгляд лучше использовать этот, т.к. именно здесь:
- Вы используете официальный источник для установки;
- У вас не будет проблем с доступом к репозиториям (а они бывают, поверьте мне);
Для JRE делать все также, кроме второй команды, пропускаем её и переходим к третьей. Лучше не буду вас путать и просто оставлю исполняемые команды здесь. Напоминаю, они идут сразу после распаковки!
Как обновить Java на Ubuntu
Разработчики постоянно обновляют среды JDK/JRE в целях улучшения стабильности и повышения уровня безопасности.
Внимание! Предполагается, что какая-либо версия Java уже имеется в директории /usr/local/java. В последующих действиях нужно учитывать версию скачанной сборки
На примере указана 8u45.
Обновление выполняется в несколько шагов.
Загрузка пакетов с сайта компании Oracle – JDK и JRE
При скачивании важно учитывать разрядность Ubuntu. Чтобы узнать архитектуру системы, выполняется команда uname -a
Копирование загруженных инсталляторов в папку со старой версией продукта. Здесь понадобятся права root. По умолчанию директория одинакова у всех. Для копирования последовательно выполняются команды:
- cd /home/»Имя пользователя»/Downloads
- sudo cp -r jdk-*.tar.gz /usr/opt/java
- sudo cp -r jre-*.tar.gz /usr/opt/java
- cd /usr/opt/java
- Распаковка пакетов в этой же директории:
- sudo tar xvzf jdk-*.tar.gz
- sudo tar xvzf jre-*tar.gz
«*» – выбранная версия платформы.
Есть и другой способ обновления, предполагающий редактирование системного файла profile, однако он намного сложнее, и использовать его не стоит, тем более что описанные выше методы стабильно работают и редко вызывают ошибки.
Сервера позволяют установить более одной версии Java для Linux. Для управления ими используют команду update-alternatives. Выполнив ее, на экране будут выведены доступные сборки. Остается выбрать нужную и нажать Enter.
Introduction
Java is a technology originally developed by Sun Microsystems, and acquired by Oracle. The following are the prevalent implementations:
-
OpenJDK: The OpenJDK project is an open-source implementation of the Java SE Platform. This is the default version of Java that is provided from a supported Ubuntu repository. Currently, there are two versions available, openjdk-6 and openjdk-7.
-
Oracle Java: Oracle Java is the proprietary, reference implementation for Java. This is no longer currently available in a supported Ubuntu repository. For more on this, please see here. However, one may install a supported version of Java (7 or 8) via Oracle’s website, or via the WebUpd8 PPA.
-
IBM Java: IBM Java is the preferred Java solution on PowerPC machines. It is a reimplementation of Java with a Just-In-Time Compiler. It is only available from IBM’s website.
-
GNU Compiler: A Java compiler made by GNU.