Как да инсталирате 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 -ysudo apt update— Извлича най-новите списъци с пакети от всички конфигурирани хранилищаsudo apt upgrade -y— Надгражда всички инсталирани пакети до най-новите им налични версии
Изчакайте процесът да завърши, преди да продължите. Ако е включено надграждане на ядрото, може да бъдете подканени да рестартирате — направете го, ако е необходимо.
Стъпка 2: Проверете наличните версии на OpenJDK
Официалните хранилища на Ubuntu 22.04 включват няколко версии на OpenJDK. За да видите пълния списък с налични версии преди инсталиране, изпълнете:
sudo apt search openjdkТова ще върне списък с всички инсталируеми пакети на OpenJDK. Най-важните, с които ще се срещнете, са:
| Пакет | Описание |
|---|---|
openjdk-11-jdk | OpenJDK 11 — Дългосрочна поддръжка (LTS) |
openjdk-17-jdk | OpenJDK 17 — Най-нова LTS версия за Ubuntu 22.04 |
openjdk-18-jdk | OpenJDK 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 -yAPT автоматично ще разреши и инсталира всички необходими зависимости.
Стъпка 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 17 | sudo apt install openjdk-17-jdk -y | Инсталиране на OpenJDK 17 LTS |
| Проверка на Java | java -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 приложенията ви заслужават.
