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í.

1. diel - Úvod do vývojového nástroja Maven

Vitajte v kurze venovanom na balíčkovacom systéme Maven. V dnešnom tutoriále si uvedieme, čo to Maven je, čo vie a na čo slúži. Tiež si povieme, ako sa ovláda a aké má alternatívy.

Minimálne požiadavky kurzu

Pre úspešné absolvovanie kurzu predpokladáme základné znalosti práce s PC a orientácie v operačnom systéme. K správnemu pochopeniu celej problematiky je treba tiež znalosť jazyka Java aspoň na úrovni objektovo orientovaného programovania, teda vrátane absolvovania kurzu Základná konštrukcia jazyka Java.

Na čo Maven slúži

S pojmom Maven sa určite čoskoro stretne každý, kto sa začne venovať programovaniu v Jave. Dokonca už v kurze základov programovania v Jave študent pri zakladaní nového projektu dostáva inštrukciu, aby z ponuky projektov vybral položku Java with Maven.

Maven je pomocný nástroj, ktorý programátori v Jave používajú na zjednodušenie a na automatizáciu svojej každodennej práce s projektom, na ktorom pracujú. Týchto činností je pomerne veľa od kompilácie zdrojových kódov, vygenerovania dokumentácie, zabalenia aplikácie do distribučného balíčka až po nahranie aplikácie na server, kde má bežať. Všetky tieto činnosti by sa samozrejme dali zvládnuť nastaviť ručnebez použitia Mavenu, ale ďaleko jednoduchšie a pohodlnejšie je zaúkolovať Maven.

Predstavme si napríklad, že máme aplikáciu, ktorá obsahuje už niekoľko desiatok tried v niekoľkých balíčkoch. Tie sú uložené v niekoľkých podadresároch a my ich chceme všetky skompilovať. Prechádzať všetky podadresáre so zdrojovými kódmi a robiť to pomocou príkazu javac nie je úplne pohodlné. Našťastie môžeme povedať Mavenu, že chceme skompilovať všetky naše zdrojové kódy v projekte a on sa o to postará.

Maven je navrhnutý tak, že všetku svoju činnosť vykonáva pomocou pluginov. Je to v podstate iba taký spúšťač pluginov. Jednotlivé pluginy majú na starosť vždy nejakú konkrétnu činnosť. Týchto pluginov je relatívne veľké množstvo. Pokrývajú snáď všetky mysliteľné činnosti, ktoré by sme ako programátori chceli s projektom vykonávať. Poďme sa teda pozrieť aspoň na tie najzákladnejšie činnosti, ktoré Maven obstaráva.

Maven budovateľ

Maven má predovšetkým na starosti automatizáciu prevádzania aplikácie zo zdrojového kódu do spustiteľnej podoby. Iste už všetci vieme, že zdrojový kód aplikácie je pred spustením potrebné pomocou kompilátora skompilovať. Vo svojom IDE to dosiahneme stlačením jediného tlačidla, ale už nevidíme, čo sa stane na pozadí. IDE následne zavolá Maven a ten vykoná všetko potrebné. Tomuto procesu sa hovorí build a Maven je preto často označovaný aj ako buildovací nástroj.

Maven organizátor

Okrem buildu aplikácie má Maven na starosti aj samotné založenie projektu, v rámci ktorého aplikáciu píšeme. Určite sme si všimli, že pri vytvorení nového projektu typu sa nám v IDE vytvorí aj jeho základná adresárová štruktúra s podadresármi ako src/main/java/ a src/main/test/. Dokonca tu pri použití Netbeans nájdeme súbor s ukážkovým Hello world! programom (pri použití Intellij sa vytvorí, iba ak zaškrtneme políčko Add sample code pri vytváraní projektu). Toto všetko je práca Mavenu.

Maven používa na vygenerovanie nového projektu tzv. archetypy. Tie si môžeme predstaviť ako akési šablóny. Archetyp použitý v IDE pre základný projekt v miestnych lekciách pre začiatočníkov, je iba jeden z mnohých. Maven má archetypy pre nepreberné množstvo typov ďalších aplikácií. Ich zoznam si môžeme ľahko v našom IDE pozrieť.

  • Stačí si v Netbeans pri zakladaní nového projektu vybrať Java with Maven - Project from Archetype a môžeme si prezrieť ich zoznam:

    Zoznam Maven archetypov v Netbeans - Maven
  • Stačí si v Intellij pri zakladaní nového projektu vybrať v okne New Project generátor Maven archetype a zmeniť Catalog na Maven Central a ich zoznam vidíme po rozkliknutí Archetype:

    Zoznam Maven archetypov v Intellij - Maven
Maven knihovník

Bezpochyby jednou z najužitočnejších vlastností Mavenu je schopnosť spravovať knižnice, ktoré naša aplikácia potrebuje k svojmu behu. Existuje totiž voľne dostupný repositár javovských knižníc, tzv. Maven repository, z ktorého Maven vie na požiadanie stiahnuť a pridať do nášho projektu knižnice podľa našich potrieb. Jediné, čo musíme urobiť, je špecifikovať, aké knižnice av akých verziách chceme. Maven potom obstará všetko potrebné, aby sme ju mohli využívať v našej aplikácii.

Ako do nášho projektu pridáme knižnicu z Maven repository, si ukážeme v niektorej z nasledujúcich lekcií.

Alternatívy k Mavenu

Momentálne sú v Jave ešte používané dva ďalšie podobné nástroje:

  • Ant
  • a Gradle.
Ant

Ant je už pomerne dlhoročný buildovací nástroj, ale stále sa používa. Na rozdiel od Mavenu nedisponuje žiadnou obdobou Maven Repository a vyžaduje manuálnu správu knižníc. Tiež nevynucuje žiadnu defaultnú adresárovú štruktúru projektu. Tú potom musíme definovať v príslušnom XML súbore.

Gradle

Gradle spopularizovalo predovšetkým Android Studio, ktoré ho používa ako defaultný buildovací nástroj. Gradle vie používať Maven Repository a od Mavenu sa líšia predovšetkým spôsobom konfigurácie. Zatiaľ čo Maven sa konfiguruje pomocou XML súboru, Gradle používa na svoju konfiguráciu programovací jazyk Groovy.

Ovládanie Mavenu

Maven je nástroj pre príkazový riadok počítača. Používa sa tak, že sa na príkazovom riadku zavolá príkaz mvn s potrebnými parametrami. Avšak všetky najpoužívanejšie IDE obsahujú podporu Mavenu, takže ako programátori sme pri každodennej práci od tohto oslobodení a ovládame ho priamo z IDE.

Napriek tomu je veľmi dobré poznať aspoň základy práce priamo z príkazového riadka, pretože niekedy nám nemusí podpora v IDE stačiť alebo žiadne IDE po ruke práve nemáme. V tomto seriáli sa zameriame práve na prácu z príkazového riadku, ale budeme si priebežne tiež ukazovať, ako by sme to isté urobili priamo v IDE.

V nasledujúcej lekcii, Inštalácia Mavenu a tvorba prvého projektu , sa naučíme pracovať s Mavenom z príkazového riadka. Ukážeme si, ako ho na našom počítači sprevádzkovať a ako s jeho pomocou vytvoriť prvý projekt.


 

Všetky články v sekcii
Maven
Preskočiť článok
(neodporúčame)
Inštalácia Mavenu a tvorba prvého projektu
Článok pre vás napísal Atrament
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity