В мире программирования Java всегда была одним из ведущих языков программирования. Java — это высокоуровневый язык программирования, основанный на концепции объектно-ориентированного программирования. Это также платформонезависимый язык, позволяющий создавать кроссплатформенные приложения. Java повсюду – в банковской сфере и транзакциях, веб-фреймворках, играх (Minecraft) и даже мобильных операционных системах (Android).
В этом руководстве мы шаг за шагом расскажем вам о процессе установки Java на CentOS и Fedora.
Предварительные требования
Для внесения изменений на системном уровне требуются привилегии sudo. Тем не менее, при выполнении этих действий рекомендуется использовать пользователя без прав root, но с привилегиями sudo. Вы можете обратиться к нашему руководству, чтобы узнать, как управлять правами sudo для пользователей с помощью файла sudoers. Для получения подробных инструкций по настройке и конфигурации сервера CentOS ознакомьтесь с этим руководством.
Варианты Java
Существует несколько различных редакций Java:
- Standard Edition — Java SE
- Enterprise Edition — Java EE
- Micro Edition — Java ME
Хотя все они занимают свою нишу в индустрии, большинство Java-приложений разрабатываются с использованием Java SE. В этом руководстве будет показана установка Java SE.
Java SE поставляется в виде пакетов двух типов:
- JRE: расшифровывается как Java Runtime Environment (среда выполнения Java). Она необходима для запуска любого Java-приложения. Пакет JRE состоит из необходимых исполняемых файлов и библиотек, которые предоставляют JVM (виртуальную машину Java) и утилиты.
- JDK: расшифровывается как Java Development Kit (комплект разработки Java). JDK включает в себя все необходимые инструменты и библиотеки для разработки и отладки Java-приложений. Любой пакет JDK также включает в себя копию JRE.
Существуют две основные реализации Java: Oracle Java и OpenJDK. OpenJDK — это проект с открытым исходным кодом, который составляет основную базу самой Java. Oracle Java реализует OpenJDK с добавлением некоторого проприетарного кода.
Обе реализации Java имеют разные политики лицензирования. Начиная с Java 9, выпуски OpenJDK лицензируются под GPLv2+CPE (GPLv2 с исключением Classpath). Oracle Java, с другой стороны, выпускается под Лицензионным соглашением OTN для Java SE.
Изменение политики лицензирования вызвало большой резонанс в сообществе Java. С тех пор появилось множество различных дистрибутивов OpenJDK: AdoptOpenJDK, GraalVM, Liberica и т. д.
Какую версию Java SE выбрать?
При всем многообразии вариантов бывает непросто решить, какая именно версия Java вам подходит. В этом разделе мы рассмотрим область применения всех этих вариантов.
- JDK против JRE
Это довольно простой выбор. JDK в большинстве случаев предназначен для разработчиков Java. Вы хотите изучать Java или разрабатывать приложения на этом языке? Если да, то вам нужен JDK.
Если вам нужно только запускать программы на Java, выберите JRE. Установка JDK тоже подойдет, но с точки зрения эффективности это избыточно.
- OpenJDK против Oracle
Как OpenJDK, так и Oracle Java доступны бесплатно. Однако, в зависимости от среды развертывания, за использование Oracle Java может взиматься плата. Ценообразование связано с циклом выпуска версий Java. Каждые шесть месяцев выходит новая версия Java. С каждым новым выпуском старые версии перестают получать патчи, исправления ошибок или улучшения в общедоступной кодовой базе.
Что касается среды развертывания, Oracle Java бесплатна, пока она используется в образовательных целях и для личного использования. Когда дело доходит до корпоративной производственной среды, за нее может взиматься плата. Если компаниям требуется поддержка старой версии Java, Oracle предлагает платную продленную поддержку.
Вы частное лицо и используете Java только в личных целях? Тогда вам подойдет любой вариант. Вы заинтересованы в развертывании Java для вашей компании/предприятия? Oracle Java доступна на платной основе. В качестве альтернативы вы можете рассмотреть дистрибутивы OpenJDK. Стандартная версия OpenJDK поставляется без поддержки, но различные дистрибутивы OpenJDK (AdoptOpenJDK, Amazon Corretto, Azul Zulu и т. д.) предлагают бесплатную долгосрочную поддержку для всех основных выпусков.
- Дистрибутив OpenJDK
С точки зрения функциональности, все дистрибутивы OpenJDK предлагают практически одинаковые возможности. Как правило, каждый из дистрибутивов OpenJDK отличается различными второстепенными (и некоторыми важными) функциями. Ванильный OpenJDK с точки зрения патчей и исправлений ошибок следует той же схеме, что и Oracle Java. После выпуска новой версии Java старые версии больше не будут получать обновлений. Тем не менее, старые выпуски OpenJDK по-прежнему можно использовать бесплатно.
Именно здесь на сцену выходят другие дистрибутивы. Эти дистрибутивы OpenJDK обычно предлагают поддержку старых и новых выпусков в течение более длительного времени, чем официально предлагает Oracle. Некоторые из этих проектов спонсируются гигантами индустрии.
Установка Java
На момент написания этой статьи последним LTS-релизом является Java 11. Рекомендуется использовать выпуск Java LTS (с долгосрочной поддержкой), так как он будет получать обновления в течение самого длительного периода. Дистрибутивы Java 11 LTS OpenJDK планируется поддерживать до 2030 года.
-
Установка Oracle JDK
Oracle JDK 16
Oracle предлагает установочные пакеты для Linux. JDK от Oracle доступен в виде пакетов DEB, RPM и TAR.GZ. Поскольку мы работаем с CentOS и Fedora, наша цель — пакет Oracle JDK RPM.
Oracle предлагает для публичного скачивания только последнюю версию JDK. Для доступа к более старым выпускам вам потребуется учетная запись Oracle. На момент написания статьи последней версией Java является Java 16. Сначала ознакомьтесь с страницей загрузки Oracle JDK 16:

Чтобы установить пакет Java в CentOS, выполните следующую команду:
|
1 |
sudo yum localinstall jdk-16.0.1_linux-x64_bin.rpm |

Чтобы установить пакет Java в Fedora, выполните следующую команду:
|
1 |
sudo rpm -Uvh --nodeps ./jdk-16.0.1_linux-x64_bin.rpm |
Oracle JDK 11
Ознакомьтесь со страницей загрузки Oracle JDK 11. Затем скачайте RPM-пакет. Теперь пришло время установить пакет. Чтобы установить RPM-пакет в CentOS, выполните следующую команду:
|
1 |
sudo yum localinstall jdk-11.0.11_linux-x64_bin.rpm |
Чтобы установить RPM-пакет в Fedora, выполните следующую команду:
|
1 |
sudo rpm -Uvh --nodeps ./ jdk-11.0.11_linux-x64_bin.rpm |
Oracle JDK 8
Несмотря на выход более новых релизов, Java 8 остается одной из самых популярных версий среди разработчиков. Разумеется, индустрия постепенно переходит на более новые выпуски, но Java 8 по-прежнему занимает высокие позиции по популярности. Она также доступна в виде установочных RPM-пакетов на официальном сайте Oracle. Ознакомьтесь со страницей загрузки Oracle JDK 8. Затем скачайте RPM-пакет на свою систему.
Чтобы установить RPM-пакет в Fedora, выполните следующую команду:
|
1 |
sudo rpm --Uvh --nodeps ./jdk-8u291-linux-x64.rpm |
Чтобы установить его в CentOS, выполните следующую команду:
|
1 |
sudo yum localinstall jdk-8u291-linux-x64.rpm |
-
Установка OpenJDK
OpenJDK 16
Пакеты OpenJDK доступны напрямую с официальных серверов пакетов. Все, что вам нужно сделать, это указать менеджеру пакетов установить пакет. Как в CentOS, так и в Fedora OpenJDK 16 доступен в виде пакета java-16-openjdk-devel.
Установка OpenJDK 16 в CentOS:
|
1 |
sudo yum install java-16-openjdk-devel |
Установка OpenJDK 16 в Fedora:
|
1 |
sudo dnf install java-16-openjdk-devel |
OpenJDK 11
Как в CentOS, так и в Fedora OpenJDK 11 доступен как java-11-openjdk-devel.
Установка OpenJDK 11 в CentOS:
|
1 |
sudo yum install java-11-openjdk-devel |

Установка OpenJDK 11 в Fedora:
|
1 |
sudo dnf install java-11-openjdk-devel |
OpenJDK 8
К счастью, OpenJDK 8 также доступен напрямую с официальных серверов пакетов. Как в CentOS, так и в Fedora пакет OpenJDK помечен как java-1.8.0-openjdk-devel.
Установка OpenJDK 8 в Fedora:
|
1 |
sudo dnf install java-1.8.0-openjdk-devel |
Установка OpenJDK 8 в CentOS:
|
1 |
sudo yum install java-1.8.0-openjdk-devel |
Дистрибутивы OpenJDK
Дистрибутивы OpenJDK — интересный вариант как для личных, так и для корпоративных пользователей. Многие из них предлагают бесплатную долгосрочную поддержку различных версий Java.
- Установка AdoptOpenJDK
AdoptOpenJDK — еще один довольно популярный дистрибутив OpenJDK. Все сборки OpenJDK доступны бесплатно. Это проект, поддерживаемый разработчиками Java и вендорами (Amazon, IBM, Azul, Microsoft, Red Hat и другими). Бинарные файлы AdoptOpenJDK предлагают как общественную, так и коммерческую поддержку.
Для установки AdoptOpenJDK мы воспользуемся сторонним репозиторием, который предлагает готовые пакеты DEB и RPM для Debian/Ubuntu, CentOS/RHEL/Fedora и openSUSE/SLES. Репозиторий и доступные пакеты кратко описаны в этой статье: AdoptOpenJDK — файлы RPM и DEB.
Сначала нам нужно установить сторонний репозиторий. Это немного сложнее, чем другие методы, описанные в этом руководстве. Короче говоря, нам придется вручную создать запись репозитория. Создайте новый репозиторий adoptopenjdk.repo. Обратите внимание, что вы должны запускать команду от имени пользователя root:
|
1 |
cat <<EOF > /etc/yum.repos.d/adoptopenjdk.repo |
После этого введите следующий код. В зависимости от вашей версии CentOS обновите запись baseurl соответствующим образом:
|
1 2 3 4 5 6 7 |
[AdoptOpenJDK] name=AdoptOpenJDK baseurl=https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/centos/7/$(uname -m) enabled=1 gpgcheck=1 gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public EOF |

В Fedora вместо этого введите следующий код. В зависимости от версии Fedora обновите запись baseurl соответствующим образом. Не забудьте запустить команду от имени root:
|
1 |
cat <<EOF > /etc/yum.repos.d/adoptopenjdk.repo |
|
1 2 3 4 5 6 7 |
[AdoptOpenJDK] name=AdoptOpenJDK baseurl=https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/fedora/33/$(uname -m) enabled=1 gpgcheck=1 gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public EOF |

Репозиторий настроен. Затем проверьте, видит ли YUM/DNF новый репозиторий:
|
1 |
sudo yum repolist |

|
1 |
sudo dnf repolist |

Теперь мы можем установить пакеты AdoptOpenJDK. Посмотрите все доступные пакеты:
|
1 |
yum search adoptopenjdk |
|
1 |
dnf search adoptopenjdk |
Чтобы установить AdoptOpenJDK 11 (hotspot) на Fedora, выполните следующую команду:
|
1 |
sudo dnf install adoptopenjdk-11-hotspot |

Чтобы установить AdoptOpenJDK 11 (hotspot) на CentOS, выполните следующую команду:
|
1 |
sudo yum install adoptopenjdk-11-hotspot |
Тестирование установки
После установки выбранного вами JDK выполните короткий тест, чтобы проверить, правильно ли работает установка:
|
1 |
java -version |
|
1 |
javac -version |

Настройка Java по умолчанию
Если в вашей системе установлено несколько JDK, это может привести к конфликтам. Чтобы избежать проблем, вам следует установить один из них в качестве JDK по умолчанию. Мы можем сделать это с помощью команды alternatives. Некоторым программам требуется дополнительная настройка переменных окружения для определения местоположения JDK.
-
Использование alternatives
В CentOS/Fedora команда alternatives управляет командами по умолчанию с помощью символических ссылок. В случае с Java это невероятно полезно. Чтобы изменить Java по умолчанию, выполните следующую команду alternatives:
|
1 |
sudo alternatives --config java |

В выводе alternatives будут перечислены все установленные версии Java. Введите значение Selection для предпочитаемой вами установки Java, чтобы сделать ее версией по умолчанию.
-
Переменные окружения
Существует несколько переменных окружения, предназначенных для Java. Эти переменные объявляют расположение исполняемых файлов Java. Самая популярная переменная окружения — это JAVA_HOME. Ее значение — это полный путь к установке Java. Установите переменную окружения:
|
1 |
export JAVA_HOME=<java_path> |

Чтобы установить JAVA_HOME для всех пользователей в системе, вам необходимо объявить ее значение в /etc/environment:
|
1 |
sudo sh -c "echo export JAVA_HOME=<java_path> >> /etc/environment" |
Заключение
В этом руководстве было показано, как установить Java на CentOS и Fedora. Мы также представили различные версии Java, чтобы вы могли выбрать JDK, который лучше всего подходит вам.
Java — это мощный язык программирования. Это одна из немногих сред программирования, в которых кроссплатформенная разработка стоит на первом месте. Практически любая программа на Java будет работать на любой другой поддерживаемой платформе. Как разработчик, вы избавлены от беспокойства по поводу совместимости платформ. Как пользователь, вы можете быть уверены, что нужное приложение запустится в вашей системе.
Если вместо этого вы хотите установить Java на Ubuntu, ознакомьтесь с этим руководством.
Приятной работы!





Комментарии
Комментариев пока нет. Будьте первым.