Apache Maven: POM, ciclo di vita e dipendenze


Data di pubblicazione:

Aggiornato:


Articoli > Apache Maven: POM, ciclo di vita e dipendenze

Maven nel 2026: principi e precauzioni

In breve: Maven è uno strumento basato su convenzioni per la build e la gestione dei progetti Java. Il POM descrive coordinate, dipendenze, plugin e impostazioni; il ciclo di vita rende ripetibili compilazione, test, packaging, verifica e pubblicazione degli artefatti.

Cosa imparerai

  • Quali attività gestisce Maven e quali restano nel repository del codice o nella configurazione CI.
  • Come si collegano coordinate Maven, repository, plugin, fasi e scope delle dipendenze.
  • Quale ruolo ha la risoluzione delle dipendenze nell'intero processo di build.

Destinatari: sviluppatori Java che stanno valutando Maven o devono comprendere un file pom.xml esistente.

Aggiornamento 2026: usa Maven Wrapper, fissa le versioni dei plugin, proteggi le credenziali dei repository e controlla il POM effettivo nella CI. Gli esempi illustrano i concetti di base; verifica nella documentazione ufficiale la compatibilità tra plugin e JDK.

Nota di sicurezza: i comandi e gli esempi di configurazione dell'articolo originale non sono stati rieseguiti in un ambiente di produzione moderno. Prima di applicarli, verifica versioni supportate, backup, controlli di accesso e procedura di rollback in un ambiente di prova isolato.

Fonti primarie ufficiali

Panoramica

Apache Maven, normalmente chiamato Maven, coordina la build di un progetto Java attraverso il Project Object Model (POM), cicli di vita standard e plugin. Questa panoramica chiarisce le operazioni che spesso restano nascoste dietro un singolo comando mvn.

Indice dei contenuti

  1. Che cos'è Maven?
  2. Che cosa gestisce Maven
  3. Conclusione

1. Che cos'è Maven?

Maven è uno strumento di build e gestione del progetto. Per distinguere compilazione, packaging e build completa, consulta anche le fasi di una build Java.

Una build Maven può coordinare, tra le altre, queste attività:

  • risolvere le dipendenze JAR;
  • compilare il codice ed eseguire i test;
  • definire le directory di output;
  • creare artefatti JAR o WAR.

La panoramica ufficiale di Maven riassume così gli obiettivi del progetto:

Maven’s primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal, Maven deals with several areas of concern:

  • Making the build process easy
  • Providing a uniform build system
  • Providing quality project information
  • Encouraging better development practices

In pratica, Maven offre un modello convenzionale e ripetibile per descrivere ed eseguire la build di un progetto.

2. Che cosa gestisce Maven

Le funzioni seguenti rendono la build riproducibile e più semplice da mantenere.

2-1. Fasi della build

Le fasi del ciclo di vita richiamano i plugin configurati in un ordine definito. Tra i comandi più comuni:

  • mvn test compila il codice ed esegue i test;
  • mvn clean elimina gli output generati;
  • mvn package crea l'artefatto configurato, ad esempio un JAR o un WAR.

2-2. Risoluzione delle dipendenze

Una dipendenza dichiarata può richiedere a sua volta altri artefatti. Maven ne legge il POM e risolve le dipendenze transitive rispettando scope, opzionalità, esclusioni e regole di mediazione delle versioni.

La guida su come Maven risolve le dipendenze transitive descrive il flusso tra POM e repository.

2-3. Metadati e scope delle dipendenze

Una dichiarazione specifica coordinate e versione, non soltanto il nome di un JAR. Lo scope indica dove serve l'artefatto, ad esempio in compilazione, a runtime o nei test.

Il file pom.xml registra anche plugin e impostazioni del progetto. La definizione della build diventa così portabile, ma la riproducibilità richiede inoltre repository controllati, versioni dei plugin fissate, un JDK supportato e impostazioni esterne coerenti.

3. Conclusione

Maven descrive il progetto nel POM ed esegue tramite plugin un ciclo di vita standard. Risolve le dipendenze e coordina compilazione, test, packaging, verifica e pubblicazione; il comportamento effettivo dipende dal POM risultante e dalla fase richiesta.

■INFORMATION

Articoli


■PROFILE

Profilo


■Contatti

Contatti