Maven

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.