Ingineria Sistemelor de Programe

Documentatie suplimentara, ISP, Seria B si SM

View on GitHub

Introducere în Maven

Ce este Maven?

Maven este un instrument de automatizare a construirii proiectelor software folosit în principal pentru proiectele Java. Dezvoltat de Apache Software Foundation, Maven folosește un concept cunoscut sub numele de Project Object Model (POM) pentru a gestiona construirea proiectului, raportarea și documentația.

De ce să folosim Maven?

Concepte de bază Maven

1. POM (Project Object Model)

Fișierul pom.xml este inima oricărui proiect Maven. Acesta conține:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>ro.universitate.curs</groupId>
    <artifactId>proiect-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
</project>

2. Coordonate Maven

Fiecare artifact Maven este identificat prin 3 coordonate:

3. Dependențe

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
    </dependency>
</dependencies>

4. Repository-uri

Maven descarcă dependențele din repository-uri:

5. Ciclul de viață Maven

Maven definește un ciclu de viață standard pentru construirea și distribuirea proiectelor, format din faze:

Structura standard a unui proiect Maven

proiect-maven/
├── pom.xml
├── src/
│   ├── main/
│   │   ├── java/        # Cod sursă Java
│   │   ├── resources/   # Resurse (configurații, etc.)
│   │   └── webapp/      # Fișiere web (pentru aplicații web)
│   └── test/
│       ├── java/        # Teste unitare
│       └── resources/   # Resurse pentru teste
└── target/              # Fișiere generate (JAR, WAR, etc.)

Comenzi Maven de bază

Maven în IDE-uri populare

Maven în IDE-uri: IntelliJ IDEA și NetBeans

Una dintre avantaje este că Maven vine pre-instalat în cele mai populare medii de dezvoltare Java:

Avantajele utilizării Maven în IDE

Resurse utile