
Studio Kalmus
Autor
Instalacja Java Development Kit (JDK) to pierwszy krok, od którego zaczyna się każda przygoda z programowaniem w Javie - i najczęstszy powód, dla którego początkujący utykają, zanim jeszcze napiszą pierwszą linijkę kodu. Komunikaty typu „java is not recognized” czy „JAVA_HOME is not set” potrafią zniechęcić na starcie, mimo że sama przyczyna jest zwykle banalna. Ten przewodnik prowadzi krok po kroku przez pobranie, instalację i konfigurację JDK na Windows, macOS i Linuksie w 2026 roku, a także pokazuje, jak uruchomić pierwszy program i jak uniknąć typowych pułapek.
W 2026 roku aktualną wersją z długim wsparciem (LTS) jest Java 25, wydana we wrześniu 2025 roku, choć wiele projektów produkcyjnych wciąż korzysta z wcześniejszej Javy 21 - również objętej wsparciem długoterminowym. W tym poradniku pokazujemy, jak zainstalować dowolną z tych wersji, jak przełączać się między nimi oraz jak skonfigurować środowisko tak, by działało bez niespodzianek.
Czym są JDK, JRE i JVM
Zanim przejdziemy do instalacji, warto rozróżnić trzy pojęcia, które często są mylone.
JVM (Java Virtual Machine) to maszyna wirtualna wykonująca skompilowany kod bajtowy Javy. To dzięki niej ten sam program działa identycznie na Windows, macOS i Linuksie - zasada „write once, run anywhere”. JVM odpowiada też za zarządzanie pamięcią i automatyczne zbieranie śmieci (garbage collection).
JRE (Java Runtime Environment) to zestaw potrzebny wyłącznie do uruchamiania gotowych aplikacji Java - zawiera JVM oraz biblioteki standardowe, ale nie ma kompilatora ani narzędzi deweloperskich.
JDK (Java Development Kit) to pełny zestaw dla programistów: zawiera JRE, kompilator javac, debugger oraz narzędzia do budowania i testowania aplikacji. Od wersji Java 11 osobne pobieranie samego JRE praktycznie zniknęło - dystrybucje takie jak Adoptium czy Oracle JDK udostępniają już tylko pełny JDK, z którego można też uruchamiać programy. Dlatego w tym poradniku instalujemy właśnie JDK, niezależnie od tego, czy planujesz pisać kod, czy tylko uruchamiać gotowe aplikacje Java.
Którą wersję i dystrybucję JDK wybrać w 2026 roku
Java rozwija się w cyklu sześciomiesięcznym, ale co dwa lata pojawia się wersja LTS (Long Term Support), która otrzymuje aktualizacje bezpieczeństwa przez wiele lat. Dla nauki, nowych projektów i większości zastosowań produkcyjnych warto wybierać właśnie wersję LTS - obecnie jest to Java 25, z Javą 21 jako wciąż popularną alternatywą w starszych projektach.
Drugi wybór dotyczy dystrybucji. Historycznie dominowały dwie ścieżki:
- Oracle JDK - oficjalna dystrybucja Oracle, dostępna do pobrania na stronie oracle.com/java/technologies/downloads. Od Javy 17 Oracle udostępnia ją bezpłatnie także do produkcji na licencji NFTC, ale warto samodzielnie zweryfikować aktualne warunki przed wdrożeniem komercyjnym.
- OpenJDK - otwarta, w pełni darmowa implementacja Javy rozwijana pod patronatem projektu OpenJDK. Na jej bazie powstają popularne dystrybucje: Eclipse Temurin (Adoptium), Amazon Corretto, Microsoft Build of OpenJDK czy Azul Zulu.
Dla zdecydowanej większości zastosowań - nauki, projektów open source, startupów - rekomendowanym wyborem jest Eclipse Temurin, pobierany bezpośrednio ze strony adoptium.net. Jest w pełni darmowy, aktywnie wspierany przez społeczność Eclipse Adoptium i dostępny w instalatorach dla wszystkich trzech systemów operacyjnych.
| Cecha | Eclipse Temurin (OpenJDK) | Oracle JDK |
|---|---|---|
| Licencja | Open source (GPLv2 z Classpath Exception), bez ograniczeń zastosowania | Bezpłatna do produkcji od wersji 17 (licencja NFTC), starsze wersje wymagają subskrypcji komercyjnej |
| Aktualizacje | Regularne wydania społeczności Eclipse Adoptium | Oficjalne aktualizacje bezpieczeństwa Oracle |
| Rejestracja przy pobieraniu | Nie jest wymagana | Może wymagać konta Oracle dla wybranych wersji |
| Rekomendowane zastosowanie | Nauka, projekty open source, większość wdrożeń komercyjnych | Firmy z istniejącym wsparciem Oracle lub specyficznymi wymaganiami umownymi |
Instalacja JDK krok po kroku
Zawsze pobieraj instalator zgodny z architekturą procesora (x64 lub arm64) i systemem operacyjnym. Poniżej opisujemy instalację na przykładzie Eclipse Temurin, ale kroki są analogiczne dla innych dystrybucji OpenJDK.
Windows
- Wejdź na stronę adoptium.net i pobierz najnowszą wersję LTS w formacie .msi dla Windows x64.
- Uruchom pobrany plik .msi dwukrotnym kliknięciem - otworzy się kreator instalacji.
- Przechodź przez kolejne ekrany, pozostawiając domyślne ustawienia. Upewnij się, że opcje „Set JAVA_HOME variable” oraz „Add to PATH” są zaznaczone - dzięki temu instalator sam skonfiguruje zmienne środowiskowe.
- Kliknij „Finish”, aby zakończyć instalację.
- Otwórz nowe okno PowerShell lub Wiersza Polecenia i sprawdź wersję poleceniami „java -version” oraz „javac -version”.
macOS
- Pobierz plik .pkg z adoptium.net, wybierając wariant odpowiedni dla Twojego procesora (Intel x64 lub Apple Silicon arm64).
- Uruchom instalator dwukrotnym kliknięciem i przejdź przez kolejne kroki - JDK zostanie umieszczone w katalogu /Library/Java/JavaVirtualMachines/.
- Po zakończeniu instalacji otwórz Terminal i sprawdź wersję poleceniami „java -version” oraz „javac -version”.
- Jeśli masz zainstalowanych kilka wersji Javy, użyj polecenia „/usr/libexec/java_home -V”, aby zobaczyć wszystkie zainstalowane JDK wraz ze ścieżkami.
Linux (Ubuntu/Debian)
- Otwórz terminal (skrót Ctrl+Alt+T).
- Zaktualizuj listę pakietów poleceniem „sudo apt update”.
- Zainstaluj OpenJDK poleceniem „sudo apt install openjdk-21-jdk” (zamień 21 na numer wybranej wersji, np. openjdk-25-jdk, jeśli jest już dostępna w repozytoriach Twojej dystrybucji).
- Sprawdź instalację poleceniami „java -version” oraz „javac -version”.
Linux (Fedora, RHEL, CentOS Stream)
- Użyj menedżera pakietów dnf: „sudo dnf install java-21-openjdk-devel” (analogicznie zamień numer wersji na potrzebną).
- Sprawdź instalację poleceniami „java -version” oraz „javac -version”.
Jeśli menedżer pakietów Twojej dystrybucji nie oferuje interesującej Cię wersji, zawsze możesz pobrać archiwum .tar.gz bezpośrednio z Adoptium i rozpakować je ręcznie w wybranej lokalizacji, np. w /opt/jdk-25, a następnie samodzielnie skonfigurować zmienne środowiskowe, co opisujemy w kolejnej sekcji.
Konfiguracja zmiennych środowiskowych JAVA_HOME i PATH
Zmienne środowiskowe pozwalają systemowi, IDE i serwerom aplikacji odnaleźć zainstalowane JDK. Najczęściej instalator robi to automatycznie, ale warto wiedzieć, jak zrobić to ręcznie - przyda się to zwłaszcza przy kilku równoległych wersjach Javy.
Windows
- Ustal ścieżkę instalacji JDK, zwykle „C:\Program Files\Java\jdk-25” (numer wersji może się różnić).
- Otwórz Panel Sterowania, następnie „System i zabezpieczenia” -> „System” -> „Zaawansowane ustawienia systemu” -> „Zmienne środowiskowe”.
- W sekcji „Zmienne systemowe” kliknij „Nowa” i utwórz zmienną JAVA_HOME wskazującą na katalog JDK.
- Znajdź zmienną Path, kliknij „Edytuj”, dodaj wpis „%JAVA_HOME%\bin” i przenieś go wysoko na liście.
- Otwórz nowe okno terminala i zweryfikuj poleceniami „java -version” oraz „echo %JAVA_HOME%”.
macOS i Linux
Na systemach uniksowych zmienne środowiskowe ustawia się w pliku konfiguracyjnym powłoki, np. ~/.zshrc (domyślny w macOS) lub ~/.bashrc (typowy w Linuksie). Dodaj na końcu pliku dwie linie:
export JAVA_HOME=”ścieżka_do_jdk”
export PATH=”$JAVA_HOME/bin:$PATH”
Na macOS zamiast wpisywać ścieżkę ręcznie, możesz użyć polecenia „export JAVA_HOME=$(/usr/libexec/java_home -v 25)”, które automatycznie znajdzie właściwy katalog. Po edycji pliku wczytaj zmiany poleceniem „source ~/.zshrc” (lub odpowiednio ~/.bashrc) albo po prostu zrestartuj terminal, a następnie sprawdź działanie poleceniami „java -version” i „echo $JAVA_HOME”.
Zarządzanie wieloma wersjami Javy
Jeśli pracujesz nad kilkoma projektami korzystającymi z różnych wersji Javy, ręczne przełączanie zmiennych środowiskowych szybko robi się uciążliwe. Zamiast tego warto skorzystać z dedykowanego menedżera wersji.
Na macOS i Linuksie najpopularniejszym rozwiązaniem jest SDKMAN - narzędzie wiersza poleceń, które instaluje i przełącza wersje JDK (oraz innych narzędzi ekosystemu JVM, jak Maven czy Gradle) jedną komendą. Po instalacji SDKMAN wystarczy polecenie „sdk install java 25-tem”, aby pobrać Temurin 25, oraz „sdk use java 21-tem”, aby tymczasowo przełączyć się na Javę 21 w bieżącej sesji terminala.
Na Linuksie alternatywą wbudowaną w system jest „sudo update-alternatives -config java”, które pozwala wybrać domyślną wersję spośród zainstalowanych pakietów. Na Windows odpowiednikiem jest ręczna zmiana zmiennej JAVA_HOME opisana wyżej, choć narzędzia takie jak jEnv pomagają zarządzać wersjami per-projekt również na tym systemie.
Pierwszy program w Javie: kompilacja i uruchomienie
Po skonfigurowaniu środowiska czas na klasyczny test - program „Hello World”. Utwórz plik tekstowy o nazwie HelloWorld.java (nazwa musi dokładnie odpowiadać nazwie klasy publicznej, łącznie z wielkością liter) i wklej do niego następujący kod:
public class HelloWorld { public static void main(String[] args) { System.out.println(„Hello, World!”); } }
Aby skompilować i uruchomić program w tradycyjny sposób, w terminalu przejdź do katalogu z plikiem i wykonaj kolejno:
- Kompilacja: „javac HelloWorld.java” - w katalogu pojawi się plik HelloWorld.class ze skompilowanym kodem bajtowym.
- Uruchomienie: „java HelloWorld” (bez rozszerzenia .class) - w konsoli powinien pojawić się napis „Hello, World!”.
Od Javy 11 dostępna jest wygodna funkcja uruchamiania jednoplikowych programów źródłowych bez wcześniejszej kompilacji - wystarczy polecenie „java HelloWorld.java”, a JVM skompiluje i uruchomi program w jednym kroku. To szczególnie przydatne przy szybkim testowaniu małych fragmentów kodu, bez tworzenia osobnego pliku .class.
Instalacja i konfiguracja JDK w popularnych edytorach
Do nauki i codziennej pracy warto od razu skonfigurować edytor kodu, zamiast pisać wszystko w Notatniku. Dwa najczęściej wybierane środowiska to:
- IntelliJ IDEA (jetbrains.com/idea) - środowisko stworzone specjalnie do pracy w Javie. Wersja Community jest darmowa i przy pierwszym uruchomieniu projektu pozwala automatycznie pobrać i skonfigurować wybrane JDK bez ręcznej instalacji.
- Visual Studio Code (code.visualstudio.com) z zestawem rozszerzeń „Extension Pack for Java” - lżejsza alternatywa, w której trzeba wcześniej samodzielnie zainstalować JDK zgodnie z instrukcjami z tego poradnika, a następnie wskazać jego ścieżkę w ustawieniach rozszerzenia.
Niezależnie od wybranego edytora, dobrą praktyką jest jawne wskazanie w konfiguracji projektu, z którą wersją JDK ma on być budowany - unika się w ten sposób niejasnych błędów kompatybilności przy pracy zespołowej.
Najczęstsze problemy i jak je rozwiązać
„java is not recognized” lub „javac command not found”
System nie widzi plików wykonywalnych Javy w zmiennej PATH. Sprawdź, czy JAVA_HOME wskazuje na poprawny katalog instalacji, a wpis „%JAVA_HOME%\bin” (Windows) lub „$JAVA_HOME/bin” (macOS/Linux) rzeczywiście znajduje się w PATH. Po każdej zmianie zmiennych otwórz nowe okno terminala - stare okna nie widzą aktualizacji.
„UnsupportedClassVersionError”
Ten błąd oznacza, że program został skompilowany nowszą wersją JDK niż ta, na której próbujesz go uruchomić. Sprawdź wersję poleceniami „java -version” i „javac -version” - powinny się zgadzać lub uruchomiona wersja powinna być nowsza od tej użytej do kompilacji. Jeśli masz kilka JDK, ustaw domyślną wersję poleceniem „sudo update-alternatives -config java” (Linux) lub „sdk default java” (SDKMAN).
„Could not find or load main class”
Zwykle oznacza to, że jesteś w niewłaściwym katalogu (poza tym, gdzie leży plik .class) albo nazwa klasy w kodzie różni się od nazwy pliku. Upewnij się też, że polecenie uruchamiające nie zawiera rozszerzenia .class.
Problemy z pobraniem JDK od Oracle
Niektóre wersje Oracle JDK wymagają założenia darmowego konta Oracle przed pobraniem. Jeśli chcesz tego uniknąć, skorzystaj z Eclipse Temurin na adoptium.net - to w pełni darmowa dystrybucja OpenJDK, która nie wymaga żadnej rejestracji.
Kilka zainstalowanych wersji Javy powoduje konflikty
Jeśli po instalacji nowej wersji JDK polecenie „java -version” wciąż pokazuje starą wersję, oznacza to, że PATH wskazuje na inny katalog niż oczekiwany. Na Linuksie rozwiąż to poleceniem „sudo update-alternatives -config java”, na macOS i Linuksie z SDKMAN poleceniem „sdk use java”, a na Windows ręcznie popraw kolejność wpisów w zmiennej PATH.
Najczęściej zadawane pytania
Jaka jest różnica między JDK, JRE i JVM?
JVM wykonuje skompilowany kod bajtowy Javy i odpowiada za niezależność platformową. JRE to zestaw do uruchamiania gotowych programów Java, zawierający JVM i biblioteki standardowe. JDK to pełny zestaw dla programistów, obejmujący JRE, kompilator javac oraz narzędzia do budowania i debugowania aplikacji.
Czy do samego uruchamiania programów Java potrzebuję JDK, czy wystarczy JRE?
Od Javy 11 osobne dystrybucje JRE praktycznie zniknęły z oficjalnego obiegu - dystrybucje takie jak Temurin czy Oracle JDK udostępniają już tylko pełny JDK, który służy zarówno do tworzenia, jak i uruchamiania aplikacji. W praktyce instalujesz więc JDK niezależnie od tego, czy planujesz programować, czy tylko uruchamiać gotowe programy.
Którą wersję JDK wybrać do nauki w 2026 roku?
Najbezpieczniejszym wyborem jest aktualna wersja LTS, czyli Java 25, w darmowej dystrybucji Eclipse Temurin dostępnej na adoptium.net. Jeśli kurs, książka lub projekt, z którego korzystasz, wymaga konkretnej wersji (np. Java 17 lub 21), zainstaluj tę wskazaną - kompatybilność ze wskazówkami materiału jest ważniejsza niż posiadanie najnowszego wydania.
Co zrobić, gdy po instalacji polecenie „java” nadal nie działa?
Sprawdź kolejno: czy JAVA_HOME wskazuje na katalog główny instalacji JDK, czy katalog bin z tego JDK znajduje się w zmiennej PATH, czy otworzyłeś nowe okno terminala po zmianie zmiennych oraz czy nie masz kilku konfliktujących ze sobą instalacji Javy. W większości przypadków rozwiązuje to problem bez potrzeby ponownej instalacji.

