15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
28.10.2024

Как да инсталирате OpenJDK на Ubuntu 22.04: Пълно ръководство стъпка по стъпка

Java остава един от най-широко използваните езици за програмиране в света, захранвайки всичко — от корпоративни приложения и разработка за Android до конвейери за обработка на големи данни и микроуслуги. В основата на всяка среда за разработка на Java е Java Development Kit (JDK) — а OpenJDK е еталонната, безплатна, с отворен код реализация, на която разчитат разработчици по целия свят.

Това ръководство ви води през всяка стъпка на инсталиране, конфигуриране и тестване на OpenJDK на Ubuntu 22.04 LTS, независимо дали работите на локална машина или на сървър в облака. Ако изпълнявате проектите си на план за VPS Хостинг от AlexHost, ще се възползвате от NVMe-базирано хранилище за по-бърза компилация на Java, пълен root достъп за неограничена конфигурация и корпоративна DDoS защита, за да поддържате приложенията си сигурни.

Защо да използвате OpenJDK на Ubuntu 22.04?

OpenJDK (Open Java Development Kit) е официалната референтна реализация на Java SE (Standard Edition). За разлика от патентованите алтернативи, OpenJDK е:

  • Напълно безплатен и с отворен код — без лицензионни такси или ограничения за използване
  • Активно поддържан — подкрепен от Oracle, Red Hat, Amazon и по-широката общност
  • Напълно съвместим — с практически всички Java фреймуъркове, включително Spring Boot, Quarkus, Micronaut и Apache Maven
  • Наличен в множество LTS версии — включително OpenJDK 11 и OpenJDK 17, и двете от които са поддържани нативно в официалните хранилища на Ubuntu 22.04

Ubuntu 22.04 LTS (Jammy Jellyfish) е идеална базова операционна система за разработка на Java поради дългосрочния си жизнен цикъл на поддръжка, стабилност и отлична наличност на пакети. Комбинирайте я с високопроизводителна среда за VPS Хостинг и ще разполагате с готова за производство Java платформа от първия ден.

Предварителни изисквания

Преди да започнете, уверете се, че разполагате със следното:

  • Сървър или VPS с работещ Ubuntu 22.04 LTS
  • Потребителски акаунт с sudo привилегии (или root достъп)
  • Активна интернет връзка
  • Основно познаване на командния ред на Linux

> Съвет от AlexHost: Всички VPS планове на AlexHost се доставят с Ubuntu 22.04 като наличен образ на операционна система, пълен root достъп и SSH активиран по подразбиране — което ги прави идеални за този тип настройка.

Стъпка 1: Актуализирайте и надградете системата си

Преди инсталиране на нов софтуер е от съществено значение да обновите индекса на пакетите и да приложите всички чакащи надграждания. Това предотвратява конфликти на зависимости и гарантира, че работите с най-новите, най-сигурни версии на системните пакети.

Отворете терминал и изпълнете следните две команди:

sudo apt update
sudo apt upgrade -y
  • sudo apt update — Извлича най-новите списъци с пакети от всички конфигурирани хранилища
  • sudo apt upgrade -y — Надгражда всички инсталирани пакети до най-новите им налични версии

Изчакайте процесът да завърши, преди да продължите. Ако е включено надграждане на ядрото, може да бъдете подканени да рестартирате — направете го, ако е необходимо.

Стъпка 2: Проверете наличните версии на OpenJDK

Официалните хранилища на Ubuntu 22.04 включват няколко версии на OpenJDK. За да видите пълния списък с налични версии преди инсталиране, изпълнете:

sudo apt search openjdk

Това ще върне списък с всички инсталируеми пакети на OpenJDK. Най-важните, с които ще се срещнете, са:

ПакетОписание
openjdk-11-jdkOpenJDK 11 — Дългосрочна поддръжка (LTS)
openjdk-17-jdkOpenJDK 17 — Най-нова LTS версия за Ubuntu 22.04
openjdk-18-jdkOpenJDK 18 — Краткосрочна версия
openjdk-11-jreСамо Java Runtime Environment (без компилатор)
openjdk-17-jreСамо Java Runtime Environment (без компилатор)

JDK срещу JRE — Каква е разликата?

  • JDK (Java Development Kit): Включва Java компилатора (javac), дебъгер и всички инструменти за разработка. Инсталирайте го, ако пишете или компилирате Java код.
  • JRE (Java Runtime Environment): Включва само необходимото за *изпълнение* на предварително компилирани Java приложения. Инсталирайте го, ако разгръщате приложение, но не го разработвате.

За целите на разработката винаги инсталирайте пакета JDK.

Стъпка 3: Инсталирайте OpenJDK

Вариант A — Инсталиране на OpenJDK 11 (LTS)

OpenJDK 11 е версия с дългосрочна поддръжка, която остава широко използвана в корпоративни среди и се изисква от много наследени фреймуъркове и инструменти.

sudo apt install openjdk-11-jdk -y

Вариант B — Инсталиране на OpenJDK 17 (Препоръчителна LTS версия)

OpenJDK 17 е текущата препоръчителна LTS версия за нови проекти. Тя включва значителни подобрения в производителността, нови езикови функции (записи, запечатани класове, съпоставяне на шаблони) и подобрена сигурност в сравнение с OpenJDK 11.

sudo apt install openjdk-17-jdk -y

Вариант C — Инсталиране на двете версии

Можете да инсталирате множество версии на OpenJDK едновременно и да превключвате между тях при необходимост (разгледано в Стъпка 5):

sudo apt install openjdk-11-jdk openjdk-17-jdk -y

APT автоматично ще разреши и инсталира всички необходими зависимости.

Стъпка 4: Проверете инсталацията

След като инсталацията приключи, потвърдете, че Java е правилно инсталирана, като проверите версията:

java -version

Очакван изход за OpenJDK 17:

openjdk version "17.0.x" 2023-xx-xx
OpenJDK Runtime Environment (build 17.0.x+xx-Ubuntu-xubuntu1)
OpenJDK 64-Bit Server VM (build 17.0.x+xx-Ubuntu-xubuntu1, mixed mode, sharing)

Проверете също дали Java компилаторът е наличен:

javac -version

Очакван изход:

javac 17.0.x

Ако и двете команди върнат информация за версията без грешки, инсталацията на OpenJDK е успешна.

Стъпка 5: Конфигурирайте версията на Java по подразбиране (множество инсталации)

Ако сте инсталирали повече от една версия на OpenJDK, инструментът update-alternatives на Ubuntu ви позволява да определите коя версия се използва по подразбиране за цялата система.

Изпълнете следната команда:

sudo update-alternatives --config java

Ще видите изход, подобен на следния:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode
  2            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      manual mode

Press <enter> to keep the current choice[*], or type selection number:

Въведете числото, съответстващо на предпочитаната от вас версия по подразбиране, и натиснете Enter. Можете също да изпълните същата команда за javac, за да зададете компилатора по подразбиране:

sudo update-alternatives --config javac

Стъпка 6: Задайте променливата на средата JAVA_HOME

Много Java-базирани приложения, инструменти за изграждане (Maven, Gradle) и сървъри за приложения (Tomcat, WildFly) разчитат на променливата на средата JAVA_HOME за намиране на инсталацията на JDK. Правилното й задаване е критична стъпка в конфигурацията.

Намерете пътя на инсталацията на JDK

Първо, идентифицирайте точния път до инсталирания JDK:

sudo update-alternatives --list java

Това ще изведе нещо подобно на:

/usr/lib/jvm/java-17-openjdk-amd64/bin/java

Вашият път JAVA_HOME е всичко преди /bin/java, така че в този случай: /usr/lib/jvm/java-17-openjdk-amd64

Задайте JAVA_HOME за текущия потребител

За да зададете JAVA_HOME само за текущия потребител, редактирайте файла .bashrc:

nano ~/.bashrc

Превъртете до края на файла и добавете следните редове (коригирайте номера на версията при необходимост):

# Java Environment Variables
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin

Запазете файла (Ctrl + O, след това Enter) и излезте (Ctrl + X). Приложете промените към текущата си сесия:

source ~/.bashrc

Задайте JAVA_HOME за цялата система (всички потребители)

За да направите JAVA_HOME достъпна за всички потребители в системата, редактирайте /etc/environment вместо това:

sudo nano /etc/environment

Добавете следния ред:

JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"

Запазете и затворете файла, след което го презаредете:

source /etc/environment

Проверете дали JAVA_HOME е зададена правилно

echo $JAVA_HOME

Очакван изход:

/usr/lib/jvm/java-17-openjdk-amd64

Стъпка 7: Тествайте инсталацията на Java с примерна програма

Най-добрият начин да потвърдите, че всичко работи от край до край, е да напишете, компилирате и изпълните проста Java програма.

Създайте изходния файл

nano HelloWorld.java

Добавете Java кода

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World! OpenJDK is working correctly.");
    }
}

Запазете файла и излезте от редактора.

Компилирайте програмата

Използвайте Java компилатора (javac), за да компилирате изходния файл в байткод:

javac HelloWorld.java

Това генерира файл HelloWorld.class в същата директория. Ако не виждате грешки, компилацията е успешна.

Изпълнете програмата

Изпълнете компилираната програма с помощта на Java средата за изпълнение:

java HelloWorld

Очакван изход:

Hello, World! OpenJDK is working correctly.

Поздравления — инсталацията на OpenJDK на Ubuntu 22.04 е напълно функционална!

Стъпка 8: Поддържайте OpenJDK актуален

Пачове за сигурност и корекции на грешки се публикуват редовно за OpenJDK. За да поддържате инсталацията си актуална, периодично изпълнявайте:

sudo apt update && sudo apt upgrade -y

Мениджърът на пакети APT на Ubuntu автоматично ще включва актуализации на OpenJDK, когато станат налични в официалните хранилища.

Бонус: Изпълнение на Java приложения в производствена среда на AlexHost

След като средата ви за разработка е настроена, може да искате да разгърнете Java приложенията си в производствена среда. Ето няколко препоръки:

Изберете правилната хостинг инфраструктура

  • VPS Хостинг — Идеален за изпълнение на Spring Boot микроуслуги, REST API и леки Java уеб приложения. Пълният root достъп ви позволява да конфигурирате прецизно размерите на JVM heap, настройките за събиране на отпадъци и системните ресурси.
  • Dedicated сървъри — Най-подходящи за Java приложения с висок трафик, мащабни корпоративни системи или приложения, изискващи максимални CPU и RAM ресурси без споделяне.
  • GPU Хостинг — Перфектен за Java-базирани натоварвания за машинно обучение или конвейери за обработка на данни, които се възползват от GPU ускорение.

Защитете приложението си

  • Инсталирайте SSL/TLS сертификат, за да шифровате трафика към вашето Java уеб приложение. AlexHost предлага SSL сертификати за всички хостинг планове, позволявайки HTTPS с минимална конфигурация.
  • Използвайте обратен прокси (NGINX или Apache) пред вашия Java сървър за приложения (Tomcat, Jetty или вграден Spring Boot) за подобрена сигурност и производителност.

Използвайте контролен панел за по-лесно управление

Ако предпочитате GUI-базиран подход за управление на сървърната си среда, разгледайте VPS с cPanel или разгледайте другите VPS контролни панели, налични в AlexHost, за да опростите администрирането на сървъра заедно с вашите Java разгръщания.

Отстраняване на често срещани проблеми

java: command not found след инсталацията

Това обикновено означава, че двоичният файл не е в PATH. Изпълнете:

export PATH=$PATH:/usr/lib/jvm/java-17-openjdk-amd64/bin

След това добавете този ред постоянно в ~/.bashrc.

JAVA_HOME не се разпознава от Maven или Gradle

Уверете се, че JAVA_HOME сочи към основната директория на JDK (не поддиректорията bin). Проверете с:

ls $JAVA_HOME/bin/javac

Ако файлът съществува, пътят е правилен.

Използва се грешна версия на Java

Използвайте update-alternatives --config java (Стъпка 5), за да превключите към правилната версия, след което проверете с java -version.

Грешки за отказан достъп

Уверете се, че използвате sudo за команди на системно ниво и че потребителят ви има подходящи разрешения на сървъра.

Резюме

Ето бърза справка за всичко, разгледано в това ръководство:

СтъпкаКомандаЦел
Актуализиране на систематаsudo apt update && sudo apt upgrade -yУверете се, че системата е актуална
Търсене на версииsudo apt search openjdkНамиране на налични пакети OpenJDK
Инсталиране на JDK 17sudo apt install openjdk-17-jdk -yИнсталиране на OpenJDK 17 LTS
Проверка на Javajava -versionПотвърждаване на инсталацията
Задаване на версия по подразбиранеsudo update-alternatives --config javaИзбор на JDK по подразбиране
Задаване на JAVA_HOMEРедактиране на ~/.bashrc или /etc/environmentКонфигуриране на променливата на средата
Тестване на инсталациятаjavac HelloWorld.java && java HelloWorldВалидиране от край до край

Заключение

Инсталирането на OpenJDK на Ubuntu 22.04 е лесен процес, който ви дава мощна, готова за производство среда за разработка на Java при нулеви лицензионни разходи. Следвайки това ръководство, вие:

  • Актуализирахте системата си и инсталирахте OpenJDK 11 или 17 от официалните хранилища на Ubuntu
  • Проверихте инсталацията и конфигурирахте версията на Java по подразбиране
  • Зададохте променливата на средата JAVA_HOME за съвместимост с инструменти за изграждане и сървъри за приложения
  • Успешно компилирахте и изпълнихте Java програма, за да потвърдите, че всичко работи

Независимо дали изграждате Spring Boot API, микроуслуга базирана на Gradle или приложение за обработка на данни, изпълнението му на високопроизводителна платформа за VPS Хостинг на AlexHost осигурява бързо NVMe хранилище за скорост на компилация, надеждна наличност и функциите за сигурност, които Java приложенията ви заслужават.

15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало