Apache Maven

Maven – priemonė, skirta Java projektams valdyti bei diegimo procesams automatizuoti. Ją 2002 m. sukūrė Jason van Zyl iš Sonatype. Savo galimybėmis Maven panaši į Ant priemonę (ir kiek mažiau į PHP PEAR bei Perlo CPAN), tačiau turi paprastesnį XML grįstą diegimo konfigūracijos modelį.

„Maven“ taip pat gali būti naudojamas „statyti“ (ang. build) ir tvarkyti projektus parašytus C#, Ruby, Scala ir kitomis kalbomis. „Maven“ projektas yra globojamas „Apache Software Foundation“ licencijos.

Pavyzdys 
„Maven“ projektai yra konfigūruojami naudojant projekto objekto modelį, kuris yra saugomas pom. xml faile. Tai minimalus pavyzdys:

<project>
  <!-- modelio versija visada yra 4.0.0 kai „Maven“ POM versija yra 2.x -->
  <modelVersion>4.0.0</modelVersion>
  
  <!-- projekto koordinatės, pvz., grupė reikšmių, kurios
       unikaliai apibūdina šį projektą -->
  
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0</version>

  <!-- bibliotekų priklausomybės (ang. dependencies) -->
  
  <dependencies>
    <dependency>
    
      <!-- reikalingos bibliotekos koordinatės -->
      
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      
      <!-- ši priklausomybė yra naudojama tik paleidžiant ir kompiliuojant testus -->
      
      <scope>test</scope>
      
    </dependency>
  </dependencies>
</project>

Šis projekto objekto modelis (POM) apibrėžia tik unikalius projekto identifikatorius ir jo priklausomybę nuo JUnit karkaso. „Maven“ projekto katalogas yra tokios struktūros:

Išnašos 

Programavimas