1. Panoramica
Il Maven Wrapper è una scelta eccellente per i progetti che richiedono una versione specifica di Maven (o per gli utenti che non vogliono affatto installare Maven). Invece di installarne molte versioni nel sistema operativo, possiamo semplicemente usare lo script wrapper specifico del progetto.
In questo rapido articolo, mostreremo come impostare un wrapper Maven per un progetto Maven esistente.
2. Configurazione del wrapper Maven
Ci sono due modi per configurarlo in un progetto, dove il più semplice è usare un plugin appropriato per automatizzarlo o applicando l'installazione manuale.
2.1. Collegare
Usiamo questo plug-in Maven Wrapper per eseguire l'installazione automatica in un semplice progetto Spring Boot.
Per prima cosa, dobbiamo andare nella cartella principale del progetto ed eseguire questo comando:
mvn -N io.takari:maven:wrapper
Possiamo anche specificare la versione di Maven:
mvn -N io.takari:maven:wrapper -Dmaven=3.5.2
L'opzione -N significa -non ricorsivo in modo che il wrapper verrà applicato solo al progetto principale della directory corrente, non in alcun sottomodulo.
Dopo aver eseguito l'obiettivo, avremo più file e directory nel progetto:
- mvnw : è uno script di shell Unix eseguibile utilizzato al posto di un Maven completamente installato
- mvnw.cmd : è la versione batch dello script precedente
- mvn : la cartella nascosta che contiene la libreria Java di Maven Wrapper e il suo file delle proprietà
2.2. Manuale
Con un approccio manuale, possiamo copiare file e cartelle visti sopra da un altro progetto nella cartella principale del progetto corrente.
Successivamente, dobbiamo specificare la versione di Maven da utilizzare nel file delle proprietà del wrapper situato nel file .mvn / wrapper / maven-wrapper.properties .
Ad esempio, il nostro file delle proprietà ha la seguente riga:
distributionUrl=//repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.2/apache-maven-3.5.2-bin.zip
Di conseguenza, verrà scaricata e utilizzata la versione 3.5.2.
3. Casi d'uso
Il wrapper dovrebbe funzionare con diversi sistemi operativi come:
- Linux
- OSX
- finestre
- Solaris
Dopodiché, possiamo eseguire i nostri obiettivi in questo modo per il sistema Unix:
./mvnw clean install
E il seguente comando per Batch:
./mvnw.cmd clean install
Se non abbiamo il Maven specificato nelle proprietà del wrapper, verrà scaricato e installato nella cartella $ USER_HOME / .m2 / wrapper / dists del sistema.
Eseguiamo il nostro progetto Spring-Boot:
./mvnw spring-boot:run
L'output è lo stesso di un Maven completamente installato:

Nota: usiamo l'eseguibile mvnw al posto di mvn, che ora è il programma a riga di comando Maven.
4. Conclusione
In questo tutorial, abbiamo visto come configurare e utilizzare Maven Wrapper in un progetto Maven.
Come sempre, il codice sorgente di questo articolo può essere trovato su GitHub.