===== Apache Maven ===== [[https://maven.apache.org/|Maven]] je tzv. build nástroj především pro jazyk Java. Jeho cílem je usnadnit správu projektů v Javě a jejich kompilaci. Samotný Maven je rozšiřitelný pomocí pluginů. Základním souborem pro Maven je soubor 'pom.xml' (pom je zkratka pro Project Object Model). V tomto souboru se ve formátu xml nacházejí informace o projektu včetně využívaných knihoven apod. Maven má předem danou adresářovou strukturu, která popisuje jaké soubory mají být kam umístěny. Základní struktura je tato ^ pom.xml | soubor pom.xml | ^ ./src/main/java/ | adresář se zdrojovými kódy | ^ ./src/test/java/ | adresář se zdrojovými kódy testů | ^ ./target/ | adresář se zkompilovanými soubory, vytváří si Maven sám | ==== Dependence ==== Pokud začnete používat Maven na menším projektu, nejčastější motivací pravděpodobně bude systém dependencí. Jedná se o způsob, jak k projektu snadno přidat externí knihovny. Každá knihovna je popsána pomocí trojice atributů (stejně jako každý Maven projekt): * ArtifactId * GroupId * Version Pokud tyto atributy přidáme do souboru 'pom.xml', Maven tyto knihovny automaticky vyhledá a stáhne. Zároveň také stáhne všechny, knihovny, na kterých je požadovaná knihovna závislá. Další informace o Mavenu naleznete například na [[https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html|oficiálním webu]].