Maven | |
![]() | |
Fejlesztő | Jason van Zyl |
Legfrissebb stabil kiadás | 3.9.9 (stabil verzió, 2024. augusztus 18.)[1] |
Programozási nyelv | Java |
Operációs rendszer | platformfüggetlen |
Platform | Java virtuális gép |
Kategória | |
Licenc | Apache Licenc 2.0 |
A Maven weboldala |
Az Apache Maven (röviden Maven) egy szoftver, amelyet szoftverprojektek menedzselésére és a build folyamat automatizálására lehet használni. Jason van Zyl készítette 2002-ben. Funkcionalitásában hasonlít az Apache Ant eszközhöz (és némi hasonlóságot mutat a PHP-s PEAR-rel és a perles CPAN-nal, de egyszerűbb és XML-alapú a konfigurációs modellje). A projektet az Apache Software Foundation hosztolja, ahol korábban a Jakarta Projekt részeként működött.
A Maven bevezeti a POM, azaz a Projekt Objektummodell (angolul: Project Object Model) fogalmát. Egy POM egy buildelendő projektet ír le és annak függőségeit. Az egyes lépéseket céloknak, angolul goal-oknak nevezik. Vannak előre definiált célok a tipikus feladatokra, mint például a kód fordítása és csomagolása, de a felhasználónak lehetősége van saját célokat is definiálni a projektspecifikus lépések végrehajtására.
A Maven hálózatképes, tehát szükség esetén dinamikusan is le tud tölteni komponenseket. Repository névvel illetik a különböző hosztok fájlrendszereinek azon mappáit, ahol a letölthető komponensek találhatók. A Maven nem csak a repository-kból való letöltést támogatja, hanem a készült szoftvercsomag feltöltését is. Ezzel az automatizálható le- és feltöltési mechanizmussal a Maven de facto szabványt próbál teremteni, de elég lassan fogadja el a Java közösség.
A Maven plugin alapú architektúrája lehetővé teszi tetszőleges parancssorból vezérelhető alkalmazás használatát. Ez elméletileg lehetővé teszi tetszőleges programnyelvekhez való pluginek készítését, de a gyakorlatban minimális mennyiségű nem javás plugin készült.