Apache Maven

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką
Apache Maven
Maven logo.svg
Kūrėjas Apache Software Foundation
Paskutinė versija 3.3.3 / 2015 m. balandžio 28 d.
OS Linux, Windows ir MacOS
Paskirtis Java projektų valdymas
Licencija Apache 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[taisyti | redaguoti kodą]

„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 kompiuliuojant 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.