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://qalabs.codeleak.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_HOMEwskazującą na katalogC:\java\jdk-12 - Dodaj
JAVA_HOME\bindo 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://qalabs.codeleak.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ówJavatoGradleiMaven. 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
cmderSklonuj projekt:
git clone https://gitlab.com/qalabs/blog/junit5-gradle-template.gitPrzejdź 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ściGradlewymagane 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
GradleczyMaven, - 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
IntelliJjest dla Ciebie? Możesz pracować zEclipselubNetbeans. Ja przez wiele lat pracowałem zEclipse, ale dzisiaj nie wyborażam sobie innegoIDEniżIntelliJdo 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+Slub w menuFile | Settingsoraz 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
IntelliJw pigułce. Jedyną sekcją, którą możesz pominąć, to Application Servers. - Podstawy uzywania
IntelliJw 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.