Utilisateur
è uno strumento di gestione dei progetti per Java, basato sul concetto di Project Object Model (POM). Gestisce il processo di build di un progetto e supporta il riutilizzo del codice e l'integrazione tra progetti.
è un file XML che descrive il progetto, le sue dipendenze, i plugin e le configurazioni di build in Maven. È il cuore della configurazione di un progetto Maven.
Le principali fasi del ciclo di vita di build di Maven includono:
- validate
- compile
- test
- package
- verify
- install
- deploy
controlla che il progetto sia corretto e che tutte le informazioni necessarie siano disponibili.
compila il codice sorgente del progetto, convertendolo in bytecode.
esegue test unitari sulle classi compilate utilizzando un framework di test, come JUnit.
crea un pacchetto distributivo del progetto, come un file JAR o WAR, per facilitare la distribuzione del software.
esegue controlli per verificare che il pacchetto sia valido e rispetti i criteri di qualità stabiliti.
installa il pacchetto nel repository locale, rendendolo disponibile per altri progetti locali che dipendono da esso.
copia il pacchetto nel repository remoto, rendendolo disponibile per altri sviluppatori o progetti esterni.
- site: gestisce la creazione del sito web del progetto
- clean: gestisce la pulizia del progetto, eliminando file generati durante build precedenti.
è una catena di fasi, in cui l'esecuzione di una fase comporta anche l'esecuzione di tutte le fasi che la precedono.
pom.xml e si trova nella radice del progetto Maven.
è diviso in diverse sezioni, che includono informazioni come:
- nome del progetto
- versioni
- dipendenze
- plugin
- configurazioni di build
- repository
ogni dipendenza specifica una libreria esterna necessaria per il progetto, consentendo a Maven di scaricarle e gestirle automaticamente.
contiene i plugin che Maven utilizzerà per eseguire varie operazioni, come compilare il codice, eseguire test e creare pacchetti. I plugin possono anche aggiungere fasi personalizzate al ciclo di vita di Maven.
contiene configurazioni specifiche per il processo di build, come la directory di output e le istruzioni di configurazione per plugin e strumenti utilizzati durante il build.
il nome, la descrizione, la versione e il coordinamento del progetto (gruppo e artefatto).
<groupId, artifactId, version>
- Local Repository: nella cartella .m2 sul computer.
- Remote Repository: un repository esterno configurabile per il progetto.
- Central Repository: un repository predefinito pubblico, accessibile da Maven per le dipendenze comuni.
template di progetto da cui un programmatore può partire quando crea un nuovo progetto Maven.
mvn archetype:generate
una struttura di cartelle e un file POM secondo l'archetipo scelto.
Maven adotta un set di comportamenti predefiniti che riducono la necessità di configurazione esplicita. È possibile usare convenzioni come la struttura delle cartelle predefinita e le convenzioni di denominazione, ma è comunque possibile modificare la configurazione quando necessario.
sono azioni eseguibili in Maven. Esempio: le fasi di build di maven
Gli obiettivi sono forniti da artefatti di Maven chiamati plugin.
Sì, Maven include dei plugin predefiniti che forniscono gli obiettivi del ciclo di vita di build.
Sì, è possibile aggiungere altri plugin per eseguire obiettivi specifici.
- plugin di build: usati durante le fasi di build del progetto
- plugin di reportistica: usati per la generazione di report, ad esempio durante la fase di documentazione