Apache Maven
KūrėjasApache Software Foundation
Pirmoji versija2004 m. liepos 13 d.
Stabili versija3.5.3[1] / 2018 m. kovo 8 d.
ParašytaJava
Operacinė sistemaLinux, Windows ir MacOS
TipasJava projektų valdymas
LicencijaApache License 2.0
Svetainėmaven.apache.org

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 redaguoti

„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:

 
Maven programinės įrangos sukurta Javos projekto katalogo struktūra.
Katalogo pavadinimas Tikslas
project home Turi pom.xml failą ir visus pakatalogius.
src/main/java Turi projekto Javos išeitinį kodą.
src/main/resources Turi projekto resursus, pvz., „propery“ failus.
src/test/java Turi projekto Javos testinį išeitinį kodą (pvz., JUnit arba TestNG).
src/test/resources Turi resursus, reikalingus testavimui.

Išnašos redaguoti