Java
jest jednym z najpopularniejszych języków programowania, cechującym się obiektowością, silnym typowaniem, przenośnością oraz prostotą. Programy napisane w języku Java
kompilowane są do tzw. bytecode’u, a następnie uruchamiane są w tak zwanej wirtualnej maszynie, w dowolnym systemie operacyjnym.
Zacznij przygodę z programowaniem w technologii Java
od przygotowania środowiska programistycznego w systemie Windows.
Pracujesz w systemie macOS? Przygotuj środowisko dla Java i Selenium na macOS: https://blog.qalabs.pl/narzedzia/java-selenium-macos/
Change log
2019/5/12 - Kod źródłowy projektu został zaktualizowany do Java 12, Gradle 5.4.1, JUnit 5.4.2. Drobne zmiany w artykule.
2019/2/27 - Java 11: OpenJDK vs Oracle JDK, Gradle 5.2.1, kod źródłowy projektu został zaktualizowany (https://gitlab.com/qalabs/blog/junit5-gradle-template.git)
Java Development Kit (JDK)
Java SE Development Kit
zawiera narzędzia do tworzenia, debuggowania i monitorowania aplikacji stworzonych w języku Java
oraz ich uruchamiania w wirtualnej maszynie Java
.
Wraz z wydaniem wersji Java 11, Oracle zmieniło zasady licencjonowania dostarczanego przez siebie JDK:
(Oracle) OpenJDK
- używa istniejącej licencji GPLv2+CE i jest darmowa również do użytku komercyjnego. Pobierz binaria ze strony: https://jdk.java.net/12Oracle JDK
- używa płatnej komerycyjnej licencji, darmowa podczas developmentu. Instalator dostępny jest na stronie: https://www.oracle.com/technetwork/java/javase/downloads/index.html
Każda z licencji posiada różne binaria, ale różnice są kosmetyczne i nieodczuwalne w trakcie pracy.
Note: Więcej informacji znajdziesz na oficjalnym blogu Oracle: https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later
Instalacja OpenJDK
Instalacja OpenJDK w systemie Windows jest bardzo prosta:
- Pobierz binaria i rozpakuj do katalogu np.
C:\java\jdk-12
- Dodaj zmienną systemową
JAVA_HOME
wskazującą na katalogC:\java\jdk-12
- Dodaj
JAVA_HOME\bin
do zmiennej systemowejPATH
- Uruchom wiersz poleceń i wykonaj polecenie:
javac -version
Instalacja Oracle JDK
Oracle JDK możesz pobrać z oficjalnej strony Oracle: http://www.oracle.com/technetwork/java/javase/downloads/index.html. Pobierz i zainstaluj najnowszą wersję platformy.
Tip: Chcesz nauczyć się Javy? Zacznij od oficjalnego tutoriala: https://docs.oracle.com/javase/tutorial/ i wybierz tematy z rozdziału
Trails Covering the Basics
Aby sprawdzić, czy instalacja przebiegła prawidłowo, uruchom wiersz poleceń i wpisz:
λ javac -version
javac 12.0.1
Tip: Dla systemu Windows istnieje sporo interesujących emulatorów konsoli, które ułatwiają codzienną pracę z wierszem poleceń. Szczególnie polecam narzędzie cmder. Instalacja i pierwsze kroki z tym narzędziem opisane zostały w osobnym artukule: https://blog.qalabs.pl/narzedzia/git-cmder.html
Dodatkowo, możesz upewnić się, że zmienna środowiskowa JAVA_HOME
została poprawnie ustawiona podczas instalacji:
λ echo %JAVA_HOME%
C:\Program Files\Java\jdk-12.0.1
Instalacja Gradle
Gradle
to otwartoźródłowe (ang. open-source) narzędzie do automatyzacji procesu budowania aplikacji, w tym do zarządzania zależnościami, który używa języka domenowego Groovy
lub Kotlin
do tworzenia konfiguracji projektu.
Gradle
jest wspierany przez większość środowisk programistycznych, może być również z łatwością uruchamiany z wiersza poleceń lub poprzez serwer ciągłej integracji (ang. continuous integration, CI).
Gradle
zdobył popularność między innymi dzięki łatwej i rozszerzalnej konfiguracji, szybkości działania (przyrostowe budowanie aplikacji, możliwość równoległego wykonywania zadań) oraz wsparciu wielu języków i technologii (np.: Java
, C++
, Groovy
).
Tip: Tworząc dowolny, nawet najbardziej podstawowy projekt w technologii
Java
, zawsze używaj narzędzia do automatyzacji procesu budowania aplikacji. Najpopularniejsze narzędzia dla projektówJava
toGradle
iMaven
. Przeczytaj o różnicach tutaj: https://gradle.org/maven-vs-gradle
W systemie Windows instalacja Gradle
sprowadza się do pobrania i rozpakowania dystrybucji, dodania zmiennej systemowej GRADLE_HOME
wskazującej na katalog dystrybucji i dodania GRADLE_HOME/bin
do zmiennej systemowej PATH
.
Instalacja Gradle
jest bardzo dobrze opisana w oficjalnej dokumentacji narzędzia pod adresem: https://docs.gradle.org/current/userguide/installation.html.
Dokumentacja Gradle
w ogóle jest wyjątkowo dobrze napisana. Zawiera nie tylko szczegółowe informacje na temat narzędzia, ale również wiele przykładów, które możesz wykorzystać tworząc swój projekt.
W celu przetestowania poprawności instalacji Gradle
, otwórz wiersz poleceń i wykonaj komendę:
λ gradle --version
Tip: Zainstaluj Gradle w wersji conajmiej 5.0, w której pojawia się wsparcie dla Javy 11. W ogólności, zaleca się instalację najnowszej wersji Gradle.
Konfiguracja projektu opartego o Java
, JUnit 5
i Gradle
W celu weryfikacji poprawności konfiguracji środowiska, wykorzystaj szablon projektu junit5-gradle-template
.
Uruchom
cmder
Sklonuj projekt:
git clone https://gitlab.com/qalabs/blog/junit5-gradle-template.git
Przejdź do katalogu projektu (
junit5-gradle-template
) i wykonaj polecenie:gradle clean test
Komenda uruchomi testy z użyciem Gradle
, pobierając wcześniej niezbędne zależności oraz kompilując kod projektu. Jeśli wszystko zostało poprawnie skonfigurowane, wykona się prosty test:
1 | Starting a Gradle Daemon (subsequent builds will be faster) |
Tip: Alternatywnie możesz wykonać polecenie
gradlew clean test
, ponieważ projekt zawiera tak zwanyGradle Wrapper
, który lokalnie (w katalogu projektu) zainstaluje zależnościGradle
wymagane do jego uruchomienia.
Instalacja IntelliJ Community
IntelliJ IDEA
to profesjonalne środowisko programistyczne oferujące między innymi:
- rozbudowany edytor z kolorowaniem składni, analizą kodu i wykrywaniem błędów, podpowiadaniem składni,
- ergonomiczny interfejs użytkownika, z zaawansowanymi funkcjami wyszukiwania, wsparciem skrótów klawiszowych,
- zaawansowany debugger,
- wsparcie dla systemów kontroli wersji, w tym oczywiście wsparcie dla
Git
, - wsparcie narzędzi do budowania projektów takich jak
Gradle
czyMaven
, - wsparcie dla najnowszych frameworków i biblitek, w tym wsparcie dla
JUnit 5
.
IntelliJ
występuje w dwóch wersjach: Ultimate
(komercyjna) i Community
(open-source). Wersja Community
jest całkowicie wystarczająca do projektów nie używających frameworków i technologii dla aplikacji klasy enterprise. Doskonale zatem sprawdzi się w projektach opartych o standardową Javę
i Selenium WebDriver
.
Konfiguracja Java SDK
Uwaga: Zrzuty ekranów mogą różnić się w zależności od wersji JDK, którą zainstalowałeś.
Po instalacji i pierwszym uruchomieniu IntelliJ
masz możliwość skonfigurowania domyślnego Java SE Development Kit
dla nowych projektów. W tym celu w oknie powitalnym wybierz opcję Configure | Project Defaults | Project Structure
. Przejdź do menu Platform Settings | SDKs
i dodaj nowe SDK
(+
) wskazując na katalog zainstalowanego wcześniej Java SE Development Kit
:
Tip: SDK = Software Development Kit, JDK = Java SE Development Kit. JDK jest podzbiorem SDK odpowiedzialnym za tworzenie i uruchamianie aplikacji.
Mając skonfigurowane co najmniej jedno SDK
, możesz je wskazać jako domyślne dla projektów. Zrobisz to w menu Project Settings | Project
. Nie zapominij o zmianie poziomu wspieranego języka. JUnit 5
wymaga conajmniej Java 8
, zatem w opcji wyboru Project language level
wskaż SDK default
.
Zapisz zmiany.
Konfiguracja Git
IntelliJ
ma doskonałe wsparcie dla systemu kontroli wersji Git
. Jeżeli instalowałeś Git for Windows
, to najprawdopodobniej IntelliJ
automatycznie wykrył instalację i skonfigurował ją prawidłowo. Jeżeli nie instalowałeś Git for Windows
i chcesz użyć dystrybucji dostarczonej z cmder
, powinieneś wskazać instalację Git
w IntelliJ
ręcznie.
W tym celu, pozostając w oknie powitalnym, wybierz Configure | Settings
, a następnie przejdź do menu Version Control | Git
. W polu Path to Git executable
wkaż plik git.exe
znajdujący się w katalogu cmder\vendor\git-for-windows\bin
:
Zapisz zmiany.
Kodowanie plików
IntelliJ
domyślnie dla nowych plików w projekcie będzie używał kodowania systemowego. Dobrą praktyką jest kodowanie plików w UTF-8
, niezależnie od systemowego. Aby zmienić ustawienia kodowania plików, pozostając w oknie powitalnym wybierz Configure | Settings
, a następnie przejdź do menu Editor | File Encoding
i zmień wszystkie ustawienia wskazując UTF-8
, również dla plików properties
.
Tip: Nie jesteś pewien, czy
IntelliJ
jest dla Ciebie? Możesz pracować zEclipse
lubNetbeans
. Ja przez wiele lat pracowałem zEclipse
, ale dzisiaj nie wyborażam sobie innegoIDE
niżIntelliJ
do tworzenia projektów opartych oJVM
.
Integracja z Git Bash
IntelliJ
dostarcza funkcję Terminal, zapewniającą integrację z interfejsem wiersza poleceń. Z łatwością możesz skonfigurować aplikację terminala i wskazać Git Bash
jako domyślną.
Aby zmienić ustawienia terminala, pozostając w oknie powitalnym wybierz Configure | Settings
, a następnie przejdź do menu Tools | Terminal
. W polu Shell path
wprowadź:
"C:\Program Files\Git\bin\bash.exe" --login -i
lub jeśli instalowałeś Git
razem z cmder
:
"\cmder\vendor\git-for-windows\bin\bash.exe" --login -i
Teraz podczas uruchamiania okna terminala (Ctrl+F12
) w IntelliJ
, będziesz mógł pracować z Git Bash
.
Import projektu do IntelliJ
Aby zaimportować projekt w IntelliJ
, wybierz opcję File | Open
i wskaż plik gradle.build
. Otwórz plik jako projekt i poczekaj chwilę, aż zaimportuje się wraz ze wszystkimi zależnościami.
W IntelliJ
otwórz plik pl.qalabs.blog.junit5.JUnit5Tests
i uruchom test helloJUnit5
, klikając lub używając skrótu Ctrl+Shift+F10
:
Tip: W
IntelliJ
, pracując w kontekście projektu, masz możliwość konfiguracji ustawień projektu (Project Settings) dostępnych za pomocą skrótuCtrl+Alt+S
lub w menuFile | Settings
oraz ustawień domyślnych dla wszystkich nowych projektów dostępnych w menuFile | Other Settings
.
Co dalej?
Najlepszym źródłem wiedzy do nauki IntelliJ
jest… oficjalna dokumentacja. Znajdziesz w niej wiele przydatnych informacji, które pomogą Ci rozpocząć efektywną pracę z tym środowiskiem.
- Rozpocznij od tego rozdziału: https://www.jetbrains.com/help/idea/discover-IntelliJ-idea.html. Znajdziesz tutaj najistotniejsze funkcje
IntelliJ
w pigułce. Jedyną sekcją, którą możesz pominąć, to Application Servers. - Podstawy uzywania
IntelliJ
w projektachJava
: https://www.jetbrains.com/help/idea/creating-and-running-your-first-java-application.html. Możesz pominąć rozdziały: Packaging the application in a JAR i Running the packaged application - Podstawy debuggowania aplikacji w
IntelliJ
: https://www.jetbrains.com/help/idea/debugging-your-first-java-application.html - Naucz się używać podstawowych skrótów klawiszowych. Pomogą one w efektywnej pracy: https://www.jetbrains.com/help/idea/mastering-keyboard-shortcuts.html.