Configurarea unui Proiect Java cu Maven — pom.xml, dependențe, plugins
In this tutorial, you'll learn about Configurarea unui Proiect Java cu Maven. We cover key concepts, practical examples, and best practices.
Maven este un instrument de build și gestionare a dependențelor pentru Java, care folosește un fișier XML central (pom.xml) pentru a defini structura proiectului, dependențele, plugin-urile și ciclul de viață al build-ului.
The Problem
Gestionarea manuală a bibliotecilor (JAR-uri) și a build-ului e predispusă la erori, conflicte de versiuni și dificil de reprodus pe alte mașini. Acest quick-fix îți arată cum să configurezi un proiect Maven corect.
The Wrong Way
// Gestionare manuală — JAR-uri în folderul lib/
// Fără control al versiunilor, fără dependențe transitive
import com.thoughtworks.xstream.XStream;
// unde e JAR-ul? Versiunea?
The Right Way
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.20</version>
</dependency>
Maven descarcă automat JAR-ul și dependențele transitive.
Step-by-Step Fix
1. Creează pom.xml minimal
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dodatech</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
</project>
2. Adaugă dependențe
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
</dependencies>
3. Adaugă plugin-uri de build
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
</plugins>
</build>
Prevention Tips
- Specifică întotdeauna o versiune la dependențe — versiunile SNAPSHOT pot schimba comportamentul
- Folosește
<scope>corect:testpentru biblioteci de test,providedpentru cele oferite de runtime - Folosește
mvn dependency:treepentru a vedea dependențele transitive - Centralizează versiunile cu
<properties>și<dependencyManagement>în proiecte multi-modul
Common Mistakes
- Lipsa versiunii la dependență — Maven nu știe ce versiune să descarce, eroare de build.
- Conflicte de versiuni transitive — două dependențe cer versiuni diferite ale aceleiași biblioteci. Folosește
<exclusions>. - Folder de surse greșit — Maven așteaptă
src/main/javașisrc/test/java. Abaterea duce la build eșuat.
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează perfect cu Java pentru productivitate și securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro