Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 2 - Instalace Mavenu a tvorba prvního projektu

V předchozí lekci, Úvod do vývojového nástroje Maven, jsme si řekli, co to Maven je a co vše má v naší aplikaci na starosti. Krátce jsme popsali, jak se ovládá a jak s ním budeme v dalších lekcích pracovat.

V dnešním tutoriálu si nejprve vysvětlíme, jak v konzoli zjistit, zda máme Maven nainstalovaný. Následně si ukážeme, jak Maven do svého počítače přidat. Poté se již budeme moci pustit do tvorby prvního Hello world projektu.

Výpis informací o Mavenu

Maven je tzv. konzolová aplikace, ovládá se pomocí textových příkazů, které uživatel zadává do konzole. Ve Windows to může být Command Prompt (CMD) nebo PowerShell, v ostatních systémech některý z dostupných emulátorů terminálu, např. Xterm.

Ze všeho nejdříve se tedy podíváme, jestli je na našem stroji Maven již přítomen, či zda jej budeme muset nejprve nainstalovat. Pokud používáme jakýkoliv linuxový systém a máme již nainstalované a zprovozněné NetBeans či IntelliJ, je velmi pravděpodobné, že již máme zprovozněný i Maven. V případě Windows to tak jednoduché nebude a bude nejspíše potřeba pár úprav.

Otevřeme si tedy konzoli dle vlastního výběru. Ve Windows stiskneme tlačítko Win, napíšeme cmd a stiskneme Enter. V ostatních systémech máme buď v panelu ikonku terminálu nebo jej najdeme někde v menu s aplikacemi.

Poté zadáme příkaz:

$ mvn -v

Pokud se nám objeví výpis podobný tomu níže, máme vyhráno a můžeme následující podkapitolky klidně přeskočit. Systém nám takto oznamuje, že již máme na svém počítači Maven nainstalovaný a zprovozněný:

Command line
Apache Maven 3.8.7 (b89d5959fcde851dcb1c8946a785a163f14e1e29)
Maven home: /opt/maven
Java version: 17.0.7, vendor: N/A, runtime: /usr/lib/jvm/java-17-openjdk
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "5.10.180-1-manjaro", arch: "amd64", family: "unix"

Pokud se nám ale objeví hláška o nenalezeném souboru či příkazu, je potřeba zasáhnout.

Ve zbytku kurzu budeme psát příkazy, které je potřeba zadat do konzole tak, jak je zvyklostí v unixovém světě. Všechna lomítka v cestách k souborům a adresářům budou v unixové podobě (/). Ve Windows pak bude potřeba použít lomítka obrácená (\). Příkazy také budou začínat znakem $, signalizujícím, že jde o příkaz zadávaný obyčejným uživatelem. Samotný znak $ samozřejmě není součástí příkazu, jde o tzv. prompt, neboli výzvu k zadání příkazu. Ve Windows příkaz obvykle začíná C:\>.

Zprovoznění Mavenu v Linuxu

Maven je ve všech obvyklých distribucích v repositářích, takže stačí nainstalovat balíček s názvem maven.

Například v Ubuntu zadáme příkaz:

$ sudo apt install maven

Takto jednoduše jsme zprovoznili Maven v Linuxu, pojďme se nyní podívat, jak téhož dosáhnout ve Windows.

Zprovoznění Mavenu ve Windows

Dobrou zprávou je, že pokud již máme nainstalované NetBeans nebo IntelliJ podle návodu z našeho kurzu Základní konstrukce jazyka Java, máme zároveň v počítači již i Maven, protože jej obě IDE obsahují. V takovém případě postačí, když přidáme příslušný adresář s Mavenem do systémové proměnné Path, abychom mohli spouštět příkaz mvn na příkazové řádce.

V případě NetBeans se Maven ukrývá v adresáři netbeans/java/maven/. V případě IntelliJ vyhledáme adresář plugins/maven/lib/maven3.

Pokud bychom chtěli použít jinou verzi Mavenu, můžeme si ji stáhnout ze stránek https://maven.apache.org, kde v postranní nabídce nalezneme možnost Download. Stažený archiv pak stačí jenom někam rozbalit.

V adresáři s Mavenem se nachází podadresář bin/. Ten obsahuje binární soubor mvn, kterým se Maven ovládá. Tento soubor musíme přidat do systémové proměnné Path. Stiskneme tedy Win a začneme psát env. Windows nám nabídnou možnost Edit environment variables for your account, tu zvolíme. V české verzi se okno Environment Variables, ve kterém proměnnou Path upravíme, jmenuje Proměnné prostředí. Do vyhledávače bychom tedy zadali prom a následně vybrali možnost Upravit proměnné prostředí pro váš účet:

Spuštění úpravy systémových proměnných ve Windows - Maven

V okně Environment Variables vybereme proměnnou Path a klikneme na Edit...:

Okno se systémovými proměnnými - Maven

V následujícím dialogu klikneme na New a pomocí Browse vybereme onen bin/ adresář:

Editace proměnné Path - Maven

Potvrdíme tlačítkem OK a máme hotovo.

Změna systémové proměnné se projeví pouze v nově spuštěné konzoli. Pokud ji máme již otevřenou, tak ji musíme nejprve zavřít a znovu spustit.

Tvorba prvního Maven projektu

Nyní, když již máme Maven zprovozněný, si vyzkoušíme jeho použití. Vytvoříme si klasický Hello world projekt.

V konzoli zadáme příkaz:

$ mvn archetype:generate

Objeví se nám seznam dostupných archetypů, který můžeme tentokrát směle ignorovat a stisknutím klávesy Enter pokračujeme. Takto se nám vybere defaultní maven-archetype-quickstart. Jde o podobný archetyp, jako používají NetBeans a IntelliJ, když v nich vytváříme nový projekt s Mavenem.

Poté se nám nabídne seznam dostupných verzí. Zkontrolujeme, že je předvybrána ta nejnovější a opět pouze odentrujeme.

Nastavení GroupId

Maven se nás dále zeptá na groupId. Záleží pouze na nás, jaké si zvolíme. Obvykle se používá stejný způsob pojmenovávání jako v případě balíčků, tzv. reverzní doménové jméno naší organizace. Zadáme tedy cz.itnetwork.

Volba ArtifactId a package

Další dotaz se týká artifactId, což je ve skutečnosti název projektu a zároveň výsledného .jar souboru bez čísla verze. Zde zadáme hello-world.

Maven se dále zeptá na verzi, jakou chceme nastavit, zvolíme 1.0. V posledním kroku zvolíme název balíčku, ve kterém se má vytvořit ukázková třída App s metodou main(). Balíček pojmenujeme stejně jako groupId, tedy cz.itnetwork. Maven nám nakonec zobrazí přehled o tom, co jsme nastavili. Vše zkontrolujeme a odentrujeme, poté se vytvoří náš nový projekt.

Zkrácený zápis tvorby projektu

Celý tento proces se dá zjednodušit zadáním všech potřebných informací přímo při volání mvn archetype:generate. K nastavení jednotlivých informací použijeme přepínač -D (z anglického define) následovaný jménem nastavované proměnné a její hodnotou. Například náš artifactId můžeme takto nastavit příkazem -DartifactId=hello-world.

Celý příkaz pro vytvoření našeho projektu by vypadal následovně:

$ mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DgroupId=cz.itnetwork -DartifactId=hello-world -Dversion=1.0 -Dpackage=cz.itnetwork

Struktura vytvořeného projektu

Vidíme, že se nám vytvořil adresář hello-world/, ve kterém je takováto struktura souborů a adresářů:

Ukázka struktury souborů v čistém projektu - Maven

Tato adresářová struktura je nám pravděpodobně povědomá z projektů v našich lekcích základů Javy. Jde o standardizovanou strukturu projektu (Standard Directory Layout), kterou Maven prosazuje.

Přínosem této standardizace je, že nepotřebujeme Mavenu říkat, jak máme projekt strukturovaný. Maven prostě hledá zdrojové kódy ve složce src/main/java/, testy ukládáme do src/test/java/, obrázky a další zdroje do složky src/main/resources/ atd. A je na nás, abychom je umístili tam, kam patří. Další velkou výhodou této jednotné struktury je, že usnadňuje dalším programátorům orientaci v každém novém projektu, na kterém začínají pracovat.

Libovolným textovým editorem se můžeme podívat na soubor App.java. Uvidíme, že obsahuje metodu main(), která vypíše do konzole klasické Hello world.

V příští lekci, Kompilace a spuštění projektu s Mavenem z příkazové řádky, se naučíme provádět základní úkony s naším projektem pomocí Mavenu. Ukážeme si, jak jej z příkazové řádky zkompilovat, spustit a vyčistit.


 

Předchozí článek
Úvod do vývojového nástroje Maven
Všechny články v sekci
Maven
Přeskočit článek
(nedoporučujeme)
Kompilace a spuštění projektu s Mavenem z příkazové řádky
Článek pro vás napsal Atrament
Avatar
Uživatelské hodnocení:
12 hlasů
Aktivity