15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
28.10.2024

Jak zainstalować OpenJDK na Ubuntu 22.04: Kompletny przewodnik krok po kroku

Java pozostaje jednym z najszerzej stosowanych języków programowania na świecie, napędzając wszystko — od aplikacji korporacyjnych i tworzenia aplikacji na Android, po potoki big data i mikroserwisy. Sercem każdego środowiska programistycznego Java jest Java Development Kit (JDK) — a OpenJDK to złoty standard, darmowa implementacja open-source, której ufają programiści na całym świecie.

Ten przewodnik przeprowadzi Cię przez każdy krok instalacji, konfiguracji i testowania OpenJDK na Ubuntu 22.04 LTS, niezależnie od tego, czy pracujesz na lokalnej maszynie, czy na serwerze w chmurze. Jeśli uruchamiasz swoje projekty na planie VPS Hosting od AlexHost, skorzystasz z pamięci masowej opartej na NVMe dla szybszej kompilacji Java, pełnego dostępu root dla nieograniczonej konfiguracji oraz korporacyjnej ochrony przed DDoS, aby zapewnić bezpieczeństwo Twoich aplikacji.

Dlaczego warto używać OpenJDK na Ubuntu 22.04?

OpenJDK (Open Java Development Kit) to oficjalna referencyjna implementacja Java SE (Standard Edition). W przeciwieństwie do własnościowych alternatyw, OpenJDK jest:

  • Całkowicie darmowy i open-source — bez opłat licencyjnych ani ograniczeń użytkowania
  • Aktywnie utrzymywany — wspierany przez Oracle, Red Hat, Amazon i szerszą społeczność
  • W pełni kompatybilny — praktycznie ze wszystkimi frameworkami Java, w tym Spring Boot, Quarkus, Micronaut i Apache Maven
  • Dostępny w wielu wersjach LTS — w tym OpenJDK 11 i OpenJDK 17, które są natywnie obsługiwane w oficjalnych repozytoriach Ubuntu 22.04

Ubuntu 22.04 LTS (Jammy Jellyfish) to idealny bazowy system operacyjny do programowania w Java ze względu na długoterminowy cykl wsparcia, stabilność i doskonałą dostępność pakietów. W połączeniu z wydajnym środowiskiem VPS Hosting otrzymujesz gotową do produkcji platformę Java od pierwszego dnia.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz następujące elementy:

  • Serwer lub VPS z systemem Ubuntu 22.04 LTS
  • Konto użytkownika z uprawnieniami sudo (lub dostępem root)
  • Aktywne połączenie z internetem
  • Podstawowa znajomość wiersza poleceń Linux

> Wskazówka AlexHost: Wszystkie plany VPS AlexHost są dostarczane z Ubuntu 22.04 jako dostępnym obrazem systemu operacyjnego, pełnym dostępem root i domyślnie włączonym SSH — co czyni je idealnymi do tego rodzaju konfiguracji.

Krok 1: Aktualizacja systemu

Przed instalacją nowego oprogramowania niezbędne jest odświeżenie indeksu pakietów i zastosowanie wszystkich oczekujących aktualizacji. Zapobiega to konfliktom zależności i zapewnia pracę z najnowszymi, najbezpieczniejszymi wersjami pakietów systemowych.

Otwórz terminal i uruchom następujące dwa polecenia:

sudo apt update
sudo apt upgrade -y
  • sudo apt update — Pobiera najnowsze listy pakietów ze wszystkich skonfigurowanych repozytoriów
  • sudo apt upgrade -y — Aktualizuje wszystkie zainstalowane pakiety do ich najnowszych dostępnych wersji

Poczekaj na zakończenie procesu przed kontynuowaniem. Jeśli aktualizacja jądra jest uwzględniona, może zostać wyświetlony monit o ponowne uruchomienie — zrób to, jeśli jest to konieczne.

Krok 2: Sprawdzenie dostępnych wersji OpenJDK

Oficjalne repozytoria Ubuntu 22.04 zawierają kilka wersji OpenJDK. Aby zobaczyć pełną listę dostępnych wersji przed instalacją, uruchom:

sudo apt search openjdk

Spowoduje to wyświetlenie listy wszystkich instalowalnych pakietów OpenJDK. Najbardziej istotne z nich to:

PakietOpis
openjdk-11-jdkOpenJDK 11 — Long-Term Support (LTS)
openjdk-17-jdkOpenJDK 17 — Najnowszy LTS dla Ubuntu 22.04
openjdk-18-jdkOpenJDK 18 — Wydanie krótkoterminowe
openjdk-11-jreTylko Java Runtime Environment (bez kompilatora)
openjdk-17-jreTylko Java Runtime Environment (bez kompilatora)

JDK vs JRE — Jaka jest różnica?

  • JDK (Java Development Kit): Zawiera kompilator Java (javac), debugger i wszystkie narzędzia programistyczne. Zainstaluj go, jeśli piszesz lub kompilujesz kod Java.
  • JRE (Java Runtime Environment): Zawiera tylko to, co jest potrzebne do *uruchamiania* wstępnie skompilowanych aplikacji Java. Zainstaluj go, jeśli wdrażasz aplikację, ale jej nie rozwijasz.

Do celów programistycznych zawsze instaluj pakiet JDK.

Krok 3: Instalacja OpenJDK

Opcja A — Instalacja OpenJDK 11 (LTS)

OpenJDK 11 to wydanie Long-Term Support, które pozostaje szeroko stosowane w środowiskach korporacyjnych i jest wymagane przez wiele starszych frameworków i narzędzi.

sudo apt install openjdk-11-jdk -y

Opcja B — Instalacja OpenJDK 17 (Zalecany LTS)

OpenJDK 17 to aktualnie zalecana wersja LTS dla nowych projektów. Zawiera znaczące ulepszenia wydajności, nowe funkcje językowe (rekordy, zapieczętowane klasy, dopasowywanie wzorców) oraz ulepszone zabezpieczenia w porównaniu z OpenJDK 11.

sudo apt install openjdk-17-jdk -y

Opcja C — Instalacja obu wersji

Możesz zainstalować wiele wersji OpenJDK obok siebie i przełączać się między nimi w razie potrzeby (omówione w Kroku 5):

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

APT automatycznie rozwiąże i zainstaluje wszystkie wymagane zależności.

Krok 4: Weryfikacja instalacji

Po zakończeniu instalacji potwierdź, że Java jest poprawnie zainstalowana, sprawdzając wersję:

java -version

Oczekiwane wyjście dla 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)

Sprawdź również, czy kompilator Java jest dostępny:

javac -version

Oczekiwane wyjście:

javac 17.0.x

Jeśli oba polecenia zwracają informacje o wersji bez błędów, instalacja OpenJDK zakończyła się pomyślnie.

Krok 5: Konfiguracja domyślnej wersji Java (wiele instalacji)

Jeśli zainstalowałeś więcej niż jedną wersję OpenJDK, narzędzie update-alternatives Ubuntu pozwala zdefiniować, która wersja jest używana domyślnie w całym systemie.

Uruchom następujące polecenie:

sudo update-alternatives --config java

Zobaczysz wyjście podobne do tego:

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:

Wpisz numer odpowiadający preferowanej domyślnej wersji i naciśnij Enter. Możesz również uruchomić to samo polecenie dla javac, aby ustawić domyślny kompilator:

sudo update-alternatives --config javac

Krok 6: Ustawienie zmiennej środowiskowej JAVA_HOME

Wiele aplikacji opartych na Java, narzędzi do budowania (Maven, Gradle) i serwerów aplikacji (Tomcat, WildFly) polega na zmiennej środowiskowej JAVA_HOME do lokalizowania instalacji JDK. Prawidłowe jej ustawienie jest kluczowym krokiem konfiguracyjnym.

Znajdź ścieżkę instalacji JDK

Najpierw zidentyfikuj dokładną ścieżkę do zainstalowanego JDK:

sudo update-alternatives --list java

Spowoduje to wyświetlenie czegoś podobnego do:

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

Twoja ścieżka JAVA_HOME to wszystko przed /bin/java, więc w tym przypadku: /usr/lib/jvm/java-17-openjdk-amd64

Ustaw JAVA_HOME dla bieżącego użytkownika

Aby ustawić JAVA_HOME tylko dla bieżącego użytkownika, edytuj plik .bashrc:

nano ~/.bashrc

Przewiń do końca pliku i dodaj następujące wiersze (dostosuj numer wersji w razie potrzeby):

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

Zapisz plik (Ctrl + O, następnie Enter) i wyjdź (Ctrl + X). Zastosuj zmiany do bieżącej sesji:

source ~/.bashrc

Ustaw JAVA_HOME dla całego systemu (wszyscy użytkownicy)

Aby udostępnić JAVA_HOME wszystkim użytkownikom systemu, edytuj zamiast tego /etc/environment:

sudo nano /etc/environment

Dodaj następujący wiersz:

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

Zapisz i zamknij plik, a następnie przeładuj go:

source /etc/environment

Sprawdź, czy JAVA_HOME jest ustawiony poprawnie

echo $JAVA_HOME

Oczekiwane wyjście:

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

Krok 7: Testowanie instalacji Java za pomocą przykładowego programu

Najlepszym sposobem potwierdzenia, że wszystko działa od początku do końca, jest napisanie, skompilowanie i uruchomienie prostego programu Java.

Utwórz plik źródłowy

nano HelloWorld.java

Dodaj kod Java

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

Zapisz plik i wyjdź z edytora.

Skompiluj program

Użyj kompilatora Java (javac), aby skompilować plik źródłowy do kodu bajtowego:

javac HelloWorld.java

Spowoduje to wygenerowanie pliku HelloWorld.class w tym samym katalogu. Jeśli nie widzisz żadnych błędów, kompilacja zakończyła się pomyślnie.

Uruchom program

Wykonaj skompilowany program przy użyciu środowiska uruchomieniowego Java:

java HelloWorld

Oczekiwane wyjście:

Hello, World! OpenJDK is working correctly.

Gratulacje — Twoja instalacja OpenJDK na Ubuntu 22.04 jest w pełni funkcjonalna!

Krok 8: Aktualizowanie OpenJDK

Poprawki zabezpieczeń i poprawki błędów są regularnie wydawane dla OpenJDK. Aby utrzymać instalację na bieżąco, okresowo uruchamiaj:

sudo apt update && sudo apt upgrade -y

Menedżer pakietów APT Ubuntu automatycznie uwzględni aktualizacje OpenJDK, gdy staną się dostępne w oficjalnych repozytoriach.

Bonus: Uruchamianie aplikacji Java w środowisku produkcyjnym na AlexHost

Po skonfigurowaniu środowiska programistycznego możesz chcieć wdrożyć swoje aplikacje Java w środowisku produkcyjnym. Oto kilka zaleceń:

Wybierz odpowiednią infrastrukturę hostingową

  • VPS Hosting — Idealny do uruchamiania mikroserwisów Spring Boot, REST API i lekkich aplikacji internetowych Java. Pełny dostęp root pozwala precyzyjnie konfigurować rozmiary sterty JVM, ustawienia garbage collection i zasoby systemowe.
  • Serwery dedykowane — Najlepsze dla aplikacji Java o dużym ruchu, dużych systemów korporacyjnych lub aplikacji wymagających maksymalnych zasobów CPU i RAM bez współdzielenia.
  • GPU Hosting — Idealny dla obciążeń uczenia maszynowego opartych na Java lub potoków przetwarzania danych korzystających z akceleracji GPU.

Zabezpiecz swoją aplikację

  • Zainstaluj certyfikat SSL/TLS, aby szyfrować ruch do swojej aplikacji internetowej Java. AlexHost oferuje Certyfikaty SSL dla wszystkich planów hostingowych, umożliwiając HTTPS przy minimalnej konfiguracji.
  • Użyj odwrotnego proxy (NGINX lub Apache) przed serwerem aplikacji Java (Tomcat, Jetty lub wbudowany Spring Boot) dla lepszego bezpieczeństwa i wydajności.

Użyj panelu sterowania dla łatwiejszego zarządzania

Jeśli preferujesz podejście oparte na GUI do zarządzania środowiskiem serwera, rozważ VPS z cPanel lub zapoznaj się z innymi Panelami sterowania VPS dostępnymi na AlexHost, aby uprościć administrację serwerem wraz z wdrożeniami Java.

Rozwiązywanie typowych problemów

java: command not found po instalacji

Zazwyczaj oznacza to, że plik binarny nie znajduje się w Twoim PATH. Uruchom:

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

Następnie dodaj ten wiersz na stałe do ~/.bashrc.

JAVA_HOME nierozpoznawany przez Maven lub Gradle

Upewnij się, że JAVA_HOME wskazuje na główny katalog JDK (nie podkatalog bin). Sprawdź za pomocą:

ls $JAVA_HOME/bin/javac

Jeśli plik istnieje, ścieżka jest poprawna.

Używana jest niewłaściwa wersja Java

Użyj update-alternatives --config java (Krok 5), aby przełączyć się na właściwą wersję, a następnie sprawdź za pomocą java -version.

Błędy odmowy dostępu

Upewnij się, że używasz sudo dla poleceń na poziomie systemu i że Twój użytkownik ma odpowiednie uprawnienia na serwerze.

Podsumowanie

Oto krótki przewodnik po wszystkim, co zostało omówione w tym poradniku:

KrokPolecenieCel
Aktualizacja systemusudo apt update && sudo apt upgrade -yUpewnij się, że system jest aktualny
Wyszukiwanie wersjisudo apt search openjdkZnajdź dostępne pakiety OpenJDK
Instalacja JDK 17sudo apt install openjdk-17-jdk -yZainstaluj OpenJDK 17 LTS
Weryfikacja Javajava -versionPotwierdź instalację
Ustaw domyślną wersjęsudo update-alternatives --config javaWybierz domyślny JDK
Ustaw JAVA_HOMEEdytuj ~/.bashrc lub /etc/environmentSkonfiguruj zmienną środowiskową
Testowanie instalacjijavac HelloWorld.java && java HelloWorldSprawdź działanie od początku do końca

Podsumowanie końcowe

Instalacja OpenJDK na Ubuntu 22.04 to prosty proces, który zapewnia potężne, gotowe do produkcji środowisko programistyczne Java bez żadnych kosztów licencyjnych. Postępując zgodnie z tym przewodnikiem:

  • Zaktualizowałeś system i zainstalowałeś OpenJDK 11 lub 17 z oficjalnych repozytoriów Ubuntu
  • Zweryfikowałeś instalację i skonfigurowałeś domyślną wersję Java
  • Ustawiłeś zmienną środowiskową JAVA_HOME dla kompatybilności z narzędziami do budowania i serwerami aplikacji
  • Pomyślnie skompilowałeś i uruchomiłeś program Java, aby potwierdzić, że wszystko działa

Niezależnie od tego, czy budujesz Spring Boot API, mikroserwis oparty na Gradle, czy aplikację do przetwarzania danych, uruchamianie jej na wydajnej platformie VPS Hosting AlexHost zapewnia szybką pamięć masową NVMe dla szybkości kompilacji, niezawodny czas działania i funkcje bezpieczeństwa, na które zasługują Twoje aplikacje Java.

15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij