Apache Maven
- Apache Maven je nástroj pro automatizaci buildů používaný primárně pro Java projekty
- Pomocí Mavenu se charakterizuje:
- Jak se má program sestavit (vybuildit)
- Seznam závislostí na externích modulech a komponentách
- Tyto informace se nastavují v konfiguračním souboru pom.xml
- Oficiální stránky s dokumentací
Ukázka souboru pom.xml
project
model version is always 4.0.0 for Maven 2.x POMs
modelVersion4.0.0/modelVersion
project coordinates, i.e. a group of values which
uniquely identify this project
groupIdcom.mycompany.app/groupId
artifactIdmy-app/artifactId
version1.0/version
library dependencies
dependencies
dependency
coordinates of the required library
groupIdjunit/groupId
artifactIdjunit/artifactId
version3.8.1/version
this dependency is only used for running and compiling tests
scopetest/scope
/dependency
/dependencies
/project
Fáze buildování
- validate
- Validace, jestli je projekt korektní a zda jsou všechny potřebné informace k dispozici
- compile
- Kompilace zdrojových kódů projektu
- test
- Test zkompilovaných zdrojáků pomocí vhodného testovacího frameworku
- package
- Zabalení zkompilovaných zdrojáků do distribuovatelného formátu, jako je například JAR
- verify
- Spouští a kontroluje výsledky integračních testů
- install
- Instaluje zabalený projekt do lokálního repozitáře
- Jiné lokální projekty si potom mohou tento projekt přidat mezi závislosti
- deploy
- Zkopíruje finální balíček na vzdálený repozitář
- Při vykonání libovolné fáze se vždy provedou i fáze předchozí
- Příklad použití:
- Přidáním clean se před samotným buildováním smažou všechny soubory, které byly výsledkem předchozího buildu
mvn clean install