Maven je systém pro automatizaci většiny činností souvisejících se správou javových projektů.
navazuje na známé make, Ant, ale odstraňuje nutnost definovat stále znovu tytéž struktury, pravidla atd.
vychází z předpokladu, že většina projektů má podobnou strukturu a znamená tytéž vývojářské úkony
projekt je popsán tzv. project descriptorem (soubor project.xml
)
nespecifikuje postupy procedurálně (jako Ant), ale deklarativně: název projektu, autoři, uložení, vyžadované knihovny, údaje o sledování chyb, změny, dokumentace, reporty PMD/CheckStyle atd.
lze ale znovupoužít hotové skripty pro Ant
Maven sám spravuje závislosti na vlastních knihovnách i artefaktech třetích stran - udržuje si je v tzv. local repository -
tím se extrémně zjednoduší správa závislostí na knihovnách a jejich verzích.