Install OpenJDK and Set JAVA_HOME Path in Ubuntu
Mainly Java-based programs need to run the Java Runtime Environment (JRE) smoothly regardless of the operating system. Now we can discuss how to set JAVA_HOME in Ubuntu.
1. Install OpenJDK on Ubuntu
Note: make sure that you have updated an advanced package tool (APT) before you start the install OpenJDK.
If you want to update APT, you can use the following syntax.
Press Ctrl + Alt + T to open the terminal and enter the following command to install OpenJDK.
Wait for the system to finish the installation then move to the second step.
2. Set JAVA_HOME Path
Now your installation is completed. All you have to do now set the “JAVA_HOME” and “PATH” environment variables.
Firstly make sure that your environment variable installations point to a valid installation.
normally, the ubuntu path is usr/lib/jvm/java-8-openjdk-amd64/
then you can execute the following commands.
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
When your JAVA_HOME path has been successfully saved, execute the following commands to check.
3. Add JAVA bin directory to the PATH variable
Like added JAVA_HOME path, now we will update the PATH variable.
Like check the JAVA_HOME path, You can check the PATH variable by entering the following command.
4. Test JAVA
You have successfully installed OpenJDK on your computer. So executed the following command you can verify your installation.
Through this simple tutorial, you have now configured the JAVA_HOME variable in your operating system.
How to Set JAVA_HOME Path in Ubuntu 20.04 and Ubuntu 22.04
Many Java-based programs require the Java Runtime Environment (JRE) to run smoothly regardless of the operating system. For development, most IDEs like Eclipse and NetBeans require the Java Development Kit (JDK) on your computer. Whether you’re a newbie who wants to learn how to develop or an application you have installed requires a Java installation on your system, we’ve got you covered. Setting up the JAVA_HOME path is quite simple.
In this tutorial, we will learn how to install the JDK on Ubuntu 20.04 and Ubuntu 22.04 and set up the Java_HOME path. Let’s start with the installation of the JDK.
Install OpenJDK on Ubuntu
Note: Make sure that you have updated the Advanced Package Tool (APT) before you move forward to install OpenJDK.
Press Ctrl + Alt + T to open the terminal and enter the following command mentioned in the box. You can either install OpenJDK 8 or the newer versions OpenJDK 11 to OpenJDK 18. Not all versions are available on any Ubuntu version, you can check for available versions with the command:
Install OpenJDK 8
Install OpenJDK 11
Install OpenJDK 14
Install OpenJDK 16
Install OpenJDK 17
Install OpenJDK 18
You will be prompted to enter your sudo password to continue with the installation.
Once you’ve entered that, wait for the system to finish the installation and then move on to step 2.
Set JAVA_HOME Path
All you have to do now is to set the “JAVA_HOME” and “PATH” environment variables and then you are done. Enter the following commands to set your environment variables. Make sure that your environment variables point to a valid installation of JDK on your machine. For Ubuntu 18.04, the path is /usr/lib/jvm/java-8-openjdk-amd64/
To check whether your JAVA_HOME path has been successfully saved, enter the following command to check.
The value stored in the JAVA_HOME variable will be displayed on the terminal as you can see in the screenshot
Add JAVA bin directory to the PATH variable
Like we have added JAVA_HOME path, we will now update the PATH variable as well. To do that, enter the following command on the terminal.
This will append the java bin directory to the existing PATH variable. You can also check the PATH variable by entering the following command
Test JAVA setup
You have successfully installed OpenJDK on your machine. You can verify your installation by entering the following command on your terminal.
Through this simple tutorial, you have now configured the JAVA_HOME variable in your operating system. You can now easily run java based applications as well as development environments on your machine.
How to Set JAVA_HOME Linux
In this guide, we’ll showcase one of the basic and crucial steps of configuring Java on your system – setting up the JAVA_HOME environment variable in Linux.
Prerequisites
Before diving deeper, let’s quickly refresh on various concepts and keywords.
JDK vs. JRE
If you’re interested in Java, you are probably already familiar with them. JDK stands for “Java Development Kit.” It contains the necessary tools and libraries to build and run (using JRE) Java apps. If you’re interested in learning or working on a Java project, JDK is the option to choose.
JRE stands for “Java Runtime Environment.” This package contains the tools and libraries needed to run a Java application. It’s a must-have to run any Java program on the system.
Note that JDK comes bundled with JRE by default. So, you don’t have to install JRE separately if you already have JDK installed.
Environment variables
In Linux, environment variables hold various system info available to apps. The info can be about how apps run on the environment, different system behaviors, etc.
Depending on the accessibility of the variables, we can divide them into 2 categories.
- Local environment variables: These variables are set on a per-user basis. Only the specific user can use them in their sessions.
- Global environment variables: These variables are accessible by everyone on the system.
JAVA_HOME
The JAVA_HOME is an environment variable. It holds the location of the Java binaries. Many applications rely on this environment variable to locate the Java binaries and libraries.
It can be set both on a local or global basis.
Setting up JAVA_HOME
Now that we understand what JAVA_HOME is, it’s time to learn how to set its value.
First, figure out the version of Java installed. This version number is often linked to the Java binary path.
If Java was installed globally, then the installation is likely stored at the following location.
This directory contains the Java binaries and libraries. Check the content of the directory.
In my case, I have OpenJDK 11 installed on Ubuntu (more on installing the latest Java on Ubuntu). From the output, we can see entries like “default-java” and “java-1.11.0-openjdk-amd64” are symlinks of “java-11-openjdk-amd64”.
We’re going to set the value of JAVA_HOME to java-1.11.0-openjdk-amd64 (recommended).
Verify the result.
Note that this environment variable will only last for the current shell session. Once restarted, you have to set the value once again manually. To solve this issue, most shells come with a configuration file that contains codes and commands the shell must run whenever it launches. In the case of bash, it’s called bashrc (for zsh, it’s zshrc, etc.).
Open the file in a text editor.
Now, add the following line at the end of the file. It will mark the environment variable accessible to all shell sessions and the binaries available directly from the PATH variable.
$ export JAVA_HOME =/ usr / lib / jvm / java — 1.11.0 — openjdk — amd64
$ export PATH = $PATH : $JAVA_HOME / bin
Save the file and close the editor. To take the changes into effect, reload the bashrc file.
Verify the result.
Setting JAVA_HOME globally
The previous section demonstrates setting up JAVA_HOME on a single user account. It’s a good practice because each user may prefer different configurations. Some may even use a completely different Java version or Java flavor.
Bash comes with a global bashrc file that every shell session in the system must load, irrespective of the user. By declaring the location of JAVA_HOME there, we can make it available for all users in the system. Note that it’s not recommended and should be used only in specific situations.
Open up the global bashrc file in a text editor. Note that it requires sudo privilege to tweak this file.
Now, update the values of JAVA_HOME and PATH.
$ export JAVA_HOME =/ usr / lib / jvm / java — 1.11.0 — openjdk — amd64
$ export PATH = $PATH : $JAVA_HOME / bin
Save the file and close the editor. Reload the file into the bash shell to take the changes into effect.
Verify the result.
Final thoughts
In this guide, we’ve explored various concepts like environment variables and demonstrated how to set JAVA_HOME as a local or global environment variable. Numerous development apps like NetBeans, Eclipse, Maven, ANT, Apache Tomcat, Android Studio, and more depend on JAVA_HOME to function properly.
Note that if the variable was set globally, then the location must be accessible to all users in the system. Otherwise, it will cause many issues, leading to severe headaches. To solve file permission conflicts, Linux comes with a built-in tool: chown. Learn more about chown and how to use it.
About the author
Sidratul Muntaha
Student of CSE. I love Linux and playing with tech and gadgets. I use both Ubuntu and Linux Mint.
Установка Java с apt в Ubuntu 20.04
Java и JVM (виртуальная машина Java) требуются для многих видов программного обеспечения, включая Tomcat, Jetty, Glassfish, Cassandra и Jenkins.
Это руководство поможет вам научиться устанавливать различные версии Java Runtime Environment (JRE) и Java Developer Kit (JDK) с помощью apt . Вы установите OpenJDK, а также официальную версию JDK от Oracle. Затем вы выберете версию, которую предпочитаете использовать в своих проектах. После этого вы сможете использовать JDK для разработки программного обеспечения и Java Runtime для запуска программного обеспечения.
Предварительные требования
Для данного обучающего руководства вам потребуется следующее:
- Сервер Ubuntu 20.04, настроенный в соответствии с указаниями обучающего руководства Начальная настройка сервера Ubuntu 20.04, а также пользователь без прав root с привилегиями sudo и брандмауэр.
Установка JRE/JDK по умолчанию
Самый простой вариант установки Java — использовать версию, входящую в пакет Ubuntu. По умолчанию в пакет Ubuntu 20.04 входит Open JDK 11 (версия JRE и JDK с открытым исходным кодом).
Для установки этой версии нужно вначале обновить указатель пакетов:
Затем нужно проверить, выполнялась ли установка Java ранее:
Если установка Java не выполнялась, вы увидите следующие результаты:
Выполните следующую команду, чтобы установить по умолчанию среду Java Runtime Environment (JRE), которая установит JRE из OpenJDK 11:
JRE позволит вам запускать практически любое программное обеспечение Java.
Проверьте установку с помощью следующей команды:
Вывод должен выглядеть следующим образом:
Для компиляции и запуска некоторых специфических программ на базе Java в дополнение к JRE вам может потребоваться комплект разработчика Java Development Kit (JDK). Для установки JDK выполните следующую команду, которая также выполняет установку JRE:
Проверьте установку JDK, проверив версию javac , компилятора Java:
Вывод должен выглядеть так:
Теперь посмотрим, как установить официальные версии JDK и JRE от Oracle.
Установка Oracle JDK 11
Лицензионное соглашение Oracle для Java не разрешает автоматическую установку через менеджеры пакетов. Для установки официальной версии Oracle JDK, которую предлагает Oracle, вам нужно создать учетную запись Oracle и вручную загрузить JDK, чтобы добавить новый репозиторий пакетов для той версии, которую вы собираетесь использовать. Затем вы можете использовать apt для ее установки с помощью скрипта установки от сторонних разработчиков.
Версия JDK от Oracle, которая вам потребуется, должна соответствовать версии скрипта установщика. Чтобы узнать, какая версия вам нужна, перейдите на страницу oracle-java11-installer .
Найдите пакет для Focal, как показано на следующем изображении:
На этом изображении версия скрипта 11.0.7 . В данном случае вам понадобится Oracle JDK 11.0.7. Вам не нужно ничего загружать с этой страницы, вы загрузите скрипт установки через apt .
Затем перейдите на страницу загрузок и найдите версию, которая вам нужна.
Нажмите кнопку JDK Download, и вы увидите экран, отображающий доступные версии. Нажмите на пакет .tar.gz для Linux.
Вы увидите экран, где вам будет предложено принять лицензионное соглашение Oracle. Примите лицензионное соглашение, установив флажок, и нажмите кнопку Download. Начнется загрузка. Возможно, вам потребуется выполнить вход в вашу учетную запись Oracle еще раз до начала загрузки.
После загрузки файла переместите его на ваш сервер. Загрузите файл на сервер на вашем локальном компьютере. В macOS, Linux или Windows, с помощью подсистемы Windows для Linux, используйте команду scp для перемещения файла в домашнюю директорию вашего пользователя sammy . Следующая команда предполагает, что вы сохранили файл Oracle JDK в папку Загрузки на вашем локальном компьютере:
После завершения загрузки файла вернитесь на ваш сервер и добавьте сторонний репозиторий, который поможет вам установить Java от Oracle.
Установите пакет software-properties-common , который добавит команду add-apt-repository в вашу систему:
Затем импортируйте ключ подписи для верификации программного обеспечения, которое вы собираетесь установить:
Вы увидите следующий результат:
После этого используйте команду add-apt-repository , чтобы добавить репозиторий в список источников пакетов:
Появится следующее сообщение:
Нажмите ENTER , чтобы продолжить установку. Возможно, вы увидите сообщение об отсутствии действительных данных OpenPGP ( no valid OpenPGP data found ), но вы можете спокойно игнорировать его.
Обновите список пакетов, чтобы новое программное обеспечение стало доступным к установке:
Установщик начнет искать Oracle JDK, который вы загрузили в /var/cache/oracle-jdk11-installer-local . Создайте этот каталог и переместите архив Oracle JDK туда:
После этого выполните установку пакета:
Установщик сначала попросит вас принять лицензионное соглашение Oracle. Примите соглашение. После этого установщик извлечет пакет Java и установит его.
Теперь рассмотрим, как выбрать версию Java, которую вы хотите использовать.
Управление Java
На одном сервере может быть установлено несколько версий Java. Задать версию по умолчанию можно через командную строку с помощью команды update-alternatives .
Если вы установили обе версии Java, перечисленные в этом обучающем руководстве, результат будет выглядеть так:
Выберите число, соответствующее версии Java, кототрая будет использоваться по умолчанию, или нажмите ENTER для сохранения текущих настроек.
Это можно сделать и для других команд Java, например, для компилятора ( javac ):
Также эту команду можно использовать для настройки других команд, в том числе keytool , javadoc , jarsigner и т. д.
Настройка переменной среды JAVA_HOME
Многие программы, написанные на Java, используют переменную среды JAVA_HOME для определения каталога установки Java.
Чтобы задать эту переменную среды, нужно предварительно определить место установки Java. Используйте команду update-alternatives :
Эта команда показывает каждую установку Java и путь установки:
В данном случае пути установки выглядят следующим образом:
- OpenJDK 11 находится в каталоге /usr/lib/jvm/java-11-openjdk-amd64/bin/java .
- Java Oracle располагается в каталоге /usr/lib/jvm/java-11-oracle/jre/bin/java .
Скопируйте путь каталога установки предпочитаемой версии. Откройте каталог /etc/environment в nano или другом текстовом редакторе:
В конце этого файла добавьте следующую строку, чтобы заменить выделенный путь на собственный скопированный путь, но не включайте часть пути bin/ :
При изменении файла будет задан путь JAVA_HOME для всех пользователей системы.
Сохраните файл и выйдите из редактора.
Снова загрузите файл, чтобы применить изменения к текущему сеансу:
Убедитесь, что переменная среды задана:
Вы увидите путь, который только что задали:
Другим пользователям для применения этого параметра нужно будет выполнить команду source /etc/environment или выйти из системы и снова войти в нее.
Заключение
В этом обучающем модуле вы установили разные версии Java и научились управлять ими. Теперь вы можете устанавливать программное обеспечение, работающее на платформе Java, в том числе Tomcat, Jetty, Glassfish, Cassandra или Jenkins.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.