Instalacja środowiska Java to trzy czynności: pobranie pakietu JDK, ustawienie zmiennych JAVA_HOME i PATH oraz sprawdzenie poleceniem java -version, że system widzi właściwą wersję. Po tej lekcji będziecie mieć na komputerze Javę 25 LTS w dystrybucji Eclipse Temurin, gotową pod IntelliJ IDEA, Mavena, Selenium i Playwright for Java.
To druga lekcja kursu Javy dla testerów. Pod filmem znajdziecie wersję tekstową, aktualną na 10 października 2026 roku: którą wersję wybrać, instalację na Windows, macOS i Linuxie, ustawienie zmiennych, program sprawdzający konfigurację, komunikaty typowych błędów i ćwiczenie z rozwiązaniem. Każde polecenie i każdy fragment kodu uruchomiliśmy na JDK Temurin 25.0.2 i 21.0.12.1, a komunikaty błędów skopiowaliśmy z konsoli, nie z pamięci.
Spis treści
- Co właściwie instalujecie: JDK, JRE czy samą Javę?
- Którą wersję Javy wybrać w październiku 2026?
- Instalacja środowiska Java na Windows
- Instalacja środowiska Java na macOS
- Instalacja środowiska Java na Linuxie
- Jak sprawdzić, czy instalacja środowiska się udała?
- Jakie błędy pojawiają się najczęściej?
- Po co testerowi automatyzującemu dobrze ustawiona Java?
- Ćwiczenie z rozwiązaniem
- Gdzie jesteście w kursie?
Co właściwie instalujecie: JDK, JRE czy samą Javę?
Instalujecie JDK, czyli Java Development Kit. W środku jest maszyna wirtualna Javy, która uruchamia programy (polecenie java), kompilator, który zamienia kod źródłowy na kod bajtowy (polecenie javac), oraz narzędzia pomocnicze, na przykład jar i jshell. Sama maszyna wirtualna bez kompilatora to JRE. Do pisania testów JRE nie wystarczy, bo bez javac nie skompilujecie ani jednej klasy.
Java ma wielu dostawców, a wszyscy budują ją z tego samego kodu projektu OpenJDK. W kursie używamy Eclipse Temurin od fundacji Adoptium: jest bezpłatny także w zastosowaniach komercyjnych, ma instalatory na trzy systemy i długie wsparcie wersji LTS. Według strony wsparcia Adoptium z 2026 roku Temurin 25 będzie dostawał poprawki co najmniej do września 2031 roku. Inne dobre wybory to Oracle OpenJDK, Amazon Corretto czy Microsoft Build of OpenJDK. Dla nauki i testów wybór dostawcy ma drugorzędne znaczenie, ważne jest, żeby na komputerze była jedna świadomie wybrana wersja, a nie trzy przypadkowe.
Jedna uwaga, która oszczędzi Wam nerwów w następnej lekcji: IntelliJ IDEA ma wbudowane własne środowisko uruchomieniowe. Według wymagań systemowych JetBrains z 2026 roku IDE działa na dołączonym JetBrains Runtime opartym na wersji 21, ale do tworzenia aplikacji w Javie i tak potrzebny jest osobny JDK. Instalacja IDE nie zwalnia więc z instalacji Javy.
Którą wersję Javy wybrać w październiku 2026?
Wybierajcie wersję LTS, czyli z długim wsparciem. Nowa wersja Javy wychodzi co pół roku, w marcu i we wrześniu, ale tylko co czwarta dostaje wieloletnie poprawki. Według strony projektu JDK w OpenJDK wersja 27 weszła 15 września 2026 roku i nie jest wersją LTS, a najnowszą wersją LTS pozostaje Java 25 z 16 września 2025 roku. W październiku 2026 rozsądny wybór do kursu i do nowego projektu testów to JDK 25 LTS. JDK 21 LTS zostawcie wtedy, gdy projekt w Waszej firmie jest na nim zbudowany i nie możecie go podnieść.
Tabela łączy dwa źródła: harmonogram wsparcia Oracle Java SE oraz stronę wsparcia Adoptium, oba odczytane 10 października 2026 roku. Daty u różnych dostawców się różnią, bo każdy sam decyduje, jak długo łata swoją dystrybucję.
Java w październiku 2026 w czterech liczbach
25
najnowsza wersja LTS, premiera 16.09.2025
27
najnowsza wersja w ogóle, premiera 15.09.2026, bez LTS
IX 2031
minimalny koniec wsparcia Temurin 25 według Adoptium
8 GB
RAM, który JetBrains podaje jako wymaganie IntelliJ IDEA
Źródło: OpenJDK, projekt JDK, 2026; Adoptium, strona wsparcia, 2026; JetBrains, wymagania systemowe IntelliJ IDEA, 2026.
Instalacja środowiska Java na Windows
Najprostsza droga to instalator MSI ze strony Adoptium Temurin Releases: wybieracie system Windows, architekturę x64, pakiet JDK i wersję 25 LTS. Według dokumentacji instalatora Adoptium domyślnie trafia on do katalogu C:\Program Files\Eclipse Adoptium i sam dopisuje Javę do zmiennej PATH. Zmienna JAVA_HOME nie jest jednak zaznaczona domyślnie. Na ekranie Custom Setup kliknijcie pozycję ustawiającą JAVA_HOME i wybierzcie instalację tej funkcji. To jeden klik, który zaoszczędzi Wam później szukania przyczyny błędu Mavena.
Jeśli wolicie terminal, ten sam pakiet zainstaluje menedżer winget, wbudowany w Windows 10 i 11. Identyfikator pakietu podaje strona instalacji Adoptium:
winget install EclipseAdoptium.Temurin.25.JDK
Gdy JAVA_HOME trzeba ustawić ręcznie, zróbcie to w oknie zmiennych środowiskowych:
- Naciśnijcie klawisz Windows i wpiszcie Edytuj zmienne środowiskowe systemu.
- Kliknijcie przycisk Zmienne środowiskowe.
- W sekcji zmiennych systemowych kliknijcie Nowa, w polu nazwy wpiszcie
JAVA_HOME, a jako wartość podajcie katalog JDK, ten, w którym leży podkatalogbin, na przykładC:\Program Files\Eclipse Adoptium\jdk-25.0.4.1-hotspot. Dokładną nazwę katalogu sprawdźcie w Eksploratorze plików. - Zaznaczcie zmienną
Path, kliknijcie Edytuj, potem Nowy i dopiszcie%JAVA_HOME%\bin. Przesuńcie ten wpis wyżej niż stare wpisy z Javą, jeśli takie są. - Zamknijcie wszystkie okna terminala i otwórzcie nowe. Stare okno nie widzi zmian.
Najczęstsza pomyłka na Windows to JAVA_HOME wskazujące na podkatalog bin. Zmienna ma wskazywać katalog nadrzędny, a bin dopisujecie dopiero w PATH.
Instalacja środowiska Java na macOS
Na macOS do wyboru są dwie drogi. Pierwsza to pakiet PKG ze strony Adoptium: dwuklik, kilka razy Continue i gotowe. Według dokumentacji Adoptium pakiet instaluje JDK w katalogu /Library/Java/JavaVirtualMachines/temurin-25.jdk. Druga droga to Homebrew, wygodna, jeśli i tak go używacie:
brew install --cask temurin@25
macOS ma polecenie /usr/libexec/java_home, które zwraca ścieżkę do zainstalowanego JDK. Dzięki niemu nie wpisujecie ścieżki ręcznie. Dopiszcie dwie linie na końcu pliku ~/.zshrc (domyślna powłoka od macOS Catalina to zsh), zapiszcie plik i otwórzcie nowe okno terminala:
export JAVA_HOME=$(/usr/libexec/java_home -v 25)
export PATH="$JAVA_HOME/bin:$PATH"
Sprawdziliśmy to sami
Polecenie /usr/libexec/java_home -v 21 nie zawsze oznacza „dokładnie Java 21”. Na komputerze z macOS 15.7, na którym był tylko JDK 25, zwróciło ścieżkę do JDK 25, bez żadnego ostrzeżenia. Jeśli więc trzymacie kilka wersji i chcecie mieć pewność, którą ustawiliście, po zmianie zawsze uruchomcie java -version, zamiast ufać samemu numerowi w .zshrc.
Instalacja środowiska Java na Linuxie
Na Debianie i Ubuntu Adoptium utrzymuje własne repozytorium pakietów. Według strony instalacji na Linuxa najpierw dodajecie klucz i repozytorium (dokładne polecenia dla Waszej dystrybucji są na stronie Adoptium o pakietach dla Linuxa), a potem instalujecie pakiet poleceniem apt. Na Fedorze i RHEL odpowiednikiem jest repozytorium RPM opisane na tej samej stronie.
sudo apt update
sudo apt install temurin-25-jdk
Pakiety z repozytorium same rejestrują java i javac w systemie alternatyw, więc PATH zwykle nie wymaga zmian. Zostaje JAVA_HOME, którego potrzebuje Maven i wiele narzędzi CI. Poniższa linia w ~/.bashrc wylicza katalog JDK z faktycznej lokalizacji kompilatora:
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))
Linux jest tu najbardziej uprzejmy z całej trójki: zwykle robi wszystko sam i czeka tylko, aż przestaniecie mu przeszkadzać trzema różnymi JDK z trzech różnych tutoriali. Jeśli w systemie jest więcej wersji, przełączycie domyślną poleceniem sudo update-alternatives --config java.
Jak sprawdzić, czy instalacja środowiska się udała?
Instalacja środowiska jest skończona dopiero wtedy, gdy trzy proste polecenia w nowym oknie terminala zwracają to, czego się spodziewacie. Na macOS i Linuxie:
java -version
javac -version
echo $JAVA_HOME
Na Windows w PowerShell ostatnie polecenie ma postać echo $env:JAVA_HOME, a w klasycznym wierszu poleceń echo %JAVA_HOME%. Wynik z naszego komputera z Temurin 25 wyglądał tak:
openjdk version "25.0.2" 2026-01-20 LTS
OpenJDK Runtime Environment Temurin-25.0.2+10 (build 25.0.2+10-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.2+10 (build 25.0.2+10-LTS, mixed mode, sharing)
javac 25.0.2
U Was numer poprawki może być wyższy, na przykład 25.0.4.1, bo Adoptium wydaje aktualizacje co kwartał. Ważna jest pierwsza liczba i to, że java i javac pokazują tę samą wersję. Różne wersje oznaczają, że w PATH siedzi jeszcze stara Java.
Drugi test jest ciekawszy, bo to Wasz pierwszy kawałek kodu. Zapiszcie poniższy plik jako SprawdzJave.java. Program wypisuje wersję, dostawcę, katalog JDK i wartość JAVA_HOME, a na końcu sprawdza, czy to co najmniej Java 25, na której prowadzimy kurs:
public class SprawdzJave {
public static void main(String[] args) {
System.out.println("Wersja Javy: " + System.getProperty("java.version"));
System.out.println("Dostawca: " + System.getProperty("java.vendor"));
System.out.println("Katalog JDK: " + System.getProperty("java.home"));
System.out.println("JAVA_HOME: " + System.getenv("JAVA_HOME"));
int wersja = Runtime.version().feature();
if (wersja >= 25) {
System.out.println("OK: Java " + wersja + " spełnia wymaganie kursu, czyli Javę 25.");
} else {
System.out.println("Za stara Java (" + wersja + "). Zainstalujcie JDK 25 LTS.");
}
}
}
Od Javy 11 pojedynczy plik źródłowy można uruchomić bez osobnej kompilacji, wystarczy podać nazwę pliku z rozszerzeniem: java SprawdzJave.java. Tak wygląda wynik na macOS po instalacji z pakietu PKG (numer poprawki u Was może być wyższy):
Wersja Javy: 25.0.2
Dostawca: Eclipse Adoptium
Katalog JDK: /Library/Java/JavaVirtualMachines/temurin-25.jdk/Contents/Home
JAVA_HOME: /Library/Java/JavaVirtualMachines/temurin-25.jdk/Contents/Home
OK: Java 25 spełnia wymaganie kursu, czyli Javę 25.
Jeśli w linii JAVA_HOME zobaczycie null, zmienna nie jest ustawiona w tym oknie terminala. Jeśli katalog JDK i JAVA_HOME wskazują różne miejsca, terminal uruchamia inną Javę niż ta, której będą używać Maven i Gradle. Oba przypadki naprawicie według sekcji o Waszym systemie.
Jakie błędy pojawiają się najczęściej?
Poniższe komunikaty to najczęstsze przeszkody przy pierwszej instalacji. Te oznaczone jako odtworzone wywołaliśmy celowo na macOS z JDK 25 i 21, pozostałe to standardowe komunikaty systemów Windows i macOS.
Ostatni błąd warto zobaczyć w całości, bo wygląda groźnie, a mówi wprost, co się stało. Skompilowaliśmy SprawdzJave.java kompilatorem z JDK 25 i uruchomiliśmy wynik na JDK 21:
Error: LinkageError occurred while loading main class SprawdzJave
java.lang.UnsupportedClassVersionError: SprawdzJave has been compiled by a more recent version of the Java Runtime (class file version 69.0), this version of the Java Runtime only recognizes class file versions up to 65.0
Ściąga z numerami
Numer wersji pliku klasy to wersja Javy powiększona o 44. Według specyfikacji maszyny wirtualnej Java SE 25 (rozdział 4.1, 2025) Java 25 obsługuje główne numery wersji od 45 do 69, więc Java 21 zapisuje pliki w wersji 65, a Java 25 w wersji 69. Gdy w komunikacie widzicie „69.0” i „up to 65.0”, od razu wiecie, że ktoś skompilował kod Javą 25, a uruchamia Javą 21. Ta ściąga skraca szukanie przyczyny z godziny do kilku sekund, szczególnie na serwerze CI, gdzie nikt nie pamięta, co zainstalował.
Po co testerowi automatyzującemu dobrze ustawiona Java?
Bo każde narzędzie z Waszego przyszłego warsztatu pyta system o Javę po swojemu. Maven i Gradle czytają JAVA_HOME. IntelliJ IDEA pyta o katalog JDK przy tworzeniu projektu. Serwer CI, na przykład GitHub Actions z akcją setup-java, instaluje JDK w wersji, którą wpiszecie w konfiguracji. Jeśli te trzy miejsca wskazują różne wersje, test, który przechodzi u Was, wywraca się w pipeline z komunikatem z tabeli wyżej. Konfiguracja Javy to pierwszy element środowiska testowego, a nie formalność przed kursem.
Sprawdzenie, której Javy używa Maven, to jedno polecenie. Wynik z naszego komputera:
mvn -v
Apache Maven 3.9.12 (848fbb4bf2d427b72bdb2471c22fced7ebd9a7a1)
Maven home: /opt/homebrew/Cellar/maven/3.9.12/libexec
Java version: 25.0.2, vendor: Eclipse Adoptium, runtime: /Library/Java/JavaVirtualMachines/temurin-25.jdk/Contents/Home
Kto w projekcie testów czyta Waszą konfigurację Javy
Maven i Gradle
biorą JDK z JAVA_HOME; zła wartość zatrzymuje build, zanim ruszy pierwszy test
IntelliJ IDEA
przy nowym projekcie pyta o JDK; wskażcie ten sam katalog co w JAVA_HOME
Selenium 4
Selenium Manager sam dobiera sterownik przeglądarki, ale testy kompiluje i uruchamia JDK z Waszej konfiguracji
Pipeline CI
wersję JDK wpisujecie w konfiguracji; trzymajcie ją równą wersji z pom.xml
W naszej praktyce szkoleniowej to częsty scenariusz pierwszego dnia: uczestnik ma Javę z dawnego projektu w PATH, nową w IDE i trzecią w JAVA_HOME. W Quality Island przeszkoliliśmy już ponad 2 500 specjalistów i dlatego radzimy zawsze tę samą kolejność: najpierw jedna pewna Java, potem kod. Jeśli zaczynacie programowanie od zera i wolicie przejść ten etap z trenerem, służy do tego szkolenie wprowadzenie do programowania od podstaw w Javie.
Ćwiczenie z rozwiązaniem
Zadanie: przygotujcie komputer na projekt, w którym część testów działa na Javie 21. Zainstalujcie obok JDK 25 także JDK 21 LTS, przełączcie JAVA_HOME na 21, uruchomcie SprawdzJave.java i wróćcie do 25. Na koniec skompilujcie program Javą 25 tak, żeby dało się go uruchomić na Javie 21.
Rozwiązanie na macOS. Instalacja drugiej wersji i przełączenie w bieżącym oknie terminala:
brew install --cask temurin@21
export JAVA_HOME=$(/usr/libexec/java_home -v 21)
export PATH="$JAVA_HOME/bin:$PATH"
java -version
java SprawdzJave.java
Na Windows zmieniacie wartość JAVA_HOME w oknie zmiennych środowiskowych na katalog JDK 21 i otwieracie nowy terminal. Na Linuxie wybieracie wersję poleceniem sudo update-alternatives --config java i aktualizujecie JAVA_HOME. Druga część zadania to flaga --release, która każe kompilatorowi 25 wygenerować pliki klas dla Javy 21:
javac --release 21 -d out SprawdzJave.java
java -cp out SprawdzJave
Tak skompilowana klasa uruchamia się na JDK 21 bez UnsupportedClassVersionError, co sprawdziliśmy na Temurin 21.0.12.1. Program wypisze wtedy „Za stara Java (21)”, bo kurs wymaga Javy 25, i tak ma być: ćwiczenie pokazuje pracę z dwiema wersjami, a nie zmianę wersji kursu. Ta sama flaga w Mavenie nazywa się maven.compiler.release i pokażemy ją w następnej lekcji.
Gdzie jesteście w kursie?
Instalacja środowiska Java to druga z 18 lekcji kursu. Pełną listę lekcji macie w lekcji wprowadzającej do języka Java, a pierwsze osiem wygląda tak:
Jeśli zastanawiacie się, czy Java w ogóle przyda się na rynku pracy testera, zajrzyjcie na QA Board, platformę profili kompetencyjnych QA, gdzie widać, jakich umiejętności szukają firmy. A gdy środowisko już działa, kolejnym krokiem jest automatyzacja: szkolenie z automatyzacji testów w Selenium WebDriver i automatyzacja testów z Playwright w Javie startują dokładnie od takiej konfiguracji, jaką macie teraz.
Co zabrać z tego artykułu
01Instalujecie JDK, nie JRE: bez kompilatora javac nie napiszecie testów.
02W październiku 2026 wybierzcie JDK 25 LTS w dystrybucji Temurin; Java 27 jest nowsza, ale bez długiego wsparcia.
03JAVA_HOME wskazuje katalog JDK, a PATH jego podkatalog bin. Instalator MSI na Windows nie ustawia JAVA_HOME domyślnie.
04Sprawdzenie to java -version, javac -version i nowe okno terminala. Obie wersje muszą się zgadzać.
05„class file version 69.0” oznacza kod z Javy 25 uruchamiany starszą Javą; flaga --release 21 to rozwiązuje.
Źródło: OpenJDK, Oracle, Adoptium i JetBrains, stan na 10.10.2026; polecenia i komunikaty sprawdzone na Temurin 25.0.2 i 21.0.12.1.
Chcecie przejść przez Javę od instalacji do pierwszych testów automatycznych z trenerem, który odpowie na Wasze pytania na bieżąco? Na szkoleniu Java dla testerów pracujecie na tym samym zestawie: JDK, IntelliJ IDEA, Maven i JUnit.
Powiązane na blogu Quality Island
- Java dla testerów automatyzujących: plan nauki
- IntelliJ IDEA pierwszy projekt: Maven, JDK 25 i JUnit
- Java pierwszy program: main, javac i nowa składnia Javy 25
- Książki do nauki Javy: 10 tytułów dla testera
- Selektory w Selenium: lokalizowanie elementów
Pełna lista źródeł
- OpenJDK, JDK Project, lista wydań, 2026. Daty premier: Java 25 16.09.2025, Java 26 17.03.2026, Java 27 15.09.2026.
- OpenJDK, JDK 27, 2026. Status GA z 15 września 2026 i lista funkcji wydania.
- Oracle, Oracle Java SE Support Roadmap, 2026. Wersje LTS i daty wsparcia Premier: 21 do 09.2028, 25 do 09.2030, plan Java 29 LTS na 09.2027.
- Adoptium, Temurin support, 2026. Najnowsze wydania i minimalne daty wsparcia Temurin 21, 25, 26 i 27.
- Adoptium, Windows MSI installer packages, 2026. Domyślny katalog instalacji, funkcje PATH i JAVA_HOME w instalatorze.
- Adoptium, macOS PKG installer packages, 2026. Katalog instalacji /Library/Java/JavaVirtualMachines.
- Adoptium, Linux (RPM/DEB/APK) installer packages, 2026. Repozytorium i pakiet temurin-25-jdk.
- Homebrew, temurin@25, 2026. Pakiet cask Temurin 25 dla macOS.
- JetBrains, IntelliJ IDEA: Install IntelliJ IDEA, System requirements, 2026. Wymagania sprzętowe IDE i informacja o wbudowanym JetBrains Runtime.
- Oracle, The Java Virtual Machine Specification, Java SE 25 Edition, rozdział 4 The class File Format, 2025. Zakres głównych numerów wersji pliku klasy od 45 do 69.
- OpenJDK, JEP 330: Launch Single-File Source-Code Programs, 2018. Uruchamianie pojedynczego pliku .java bez osobnej kompilacji od Javy 11.