Apache Maven è uno strumento di compilazione utilizzato per gestire le build di progetti. Maven comprende la struttura di un progetto e può automatizzare molti processi, riducendo i tempi di rilascio.
Maven fornisce un processo uniforme per la creazione di progetti supportando le migliori pratiche durante l'intero ciclo di vita dello sviluppo del software; non solo è facile da usare, ma facilita anche un'ottima comunicazione tra tutti i membri del tuo team o anche i team durante lo sviluppo.
Inoltre, Maven ha il supporto collegabile per quasi tutti i sistemi di controllo della versione o i tipi di pacchetti disponibili, il che rende ancora più facile per gli sviluppatori perché non devono apprendere nuovi sistemi. Come sviluppatore, potrai dedicare più tempo a ciò che vuoi fare e meno tempo ai meccanismi per farlo.
Puoi utilizzare Maven per creare e gestire progetti di qualsiasi dimensione ed è particolarmente utile nei team di sviluppo software più grandi, in cui le rigide linee guida fornite da Maven offrono una maggiore produttività grazie alle convenzioni di programmazione e un maggiore controllo sulla coerenza della build.
Il layout di directory standard di Maven rende inoltre utile apprendere il sistema solo una volta e quindi trasferire tale conoscenza su più progetti. Seguendo le convenzioni standard, puoi facilmente individuare le informazioni sul progetto come codice sorgente, file di configurazione, report in una posizione prevedibile per ogni tipo di artefatto.
Prerequisiti
Per installare Apache Maven su Linux, devi avere:
- Un server che esegue Debian 11
- Accesso root a questo server
- Aggiornamento del server
Prima di installare qualsiasi cosa, è importante assicurarsi che l'indice del pacchetto locale sia aggiornato. Esegui il comando seguente per assicurarti di avere l'ultima versione di tutti i pacchetti sul tuo server.
sudo apt-get update && sudo apt-get -y upgrade
Installazione di Java
Per installare Apache Maven su Linux, è necessario installare Java. Senza Java, non puoi installare Maven. Maven stesso è scritto in Java, quindi ha bisogno di un compilatore java per essere presente sul server.
Debian 11 supporta sia Java 11 che Java 17, ma alcuni vecchi plugin di Apache Maven potrebbero non essere compatibili con Java 17. Pertanto, questa guida ti mostrerà come installare Java 11.
Prima di installare qualsiasi cosa, è importante assicurarsi che non vi siano conflitti causati da più versioni di Java. Innanzitutto, determina quale versione di java è in esecuzione sul tuo server con il seguente comando
java -version
Se ottieni un output come quello qui sotto, sei a posto.
Esegui il comando seguente per installare java 11.
sudo apt install -y openjdk-11-jdk -y
Una volta installato Java, verificane la versione con il seguente comando
java -version
Otterrai un output come quello qui sotto. Puoi vedere che è installata la versione 11 di Java.
Installazione di Apache Maven su Debian 11
Ora che hai aggiornato il server e installato java 11, installerai Apache Maven. In questo passaggio, scaricheremo e installeremo Maven.
Esegui il comando seguente per prendere Maven dal suo sito Web ufficiale.
curl -O https://archive.apache.org/dist/maven/maven-3/3.8.2/binaries/apache-maven-3.8.2-bin.tar.gz
Una volta completato il download, estrai il file scaricato e sposta i file estratti con il comando seguente.
sudo tar -zxvf apache-maven-3.8.2-bin.tar.gz
sudo mv apache-maven-3.8.2 /opt/maven
Una volta completato, avrai nuovi file in /opt/maven directory, che contiene tutti gli eseguibili e gli script di Maven per eseguire Maven.
Puoi vedere dove è stato spostato lo script di installazione usando il comando seguente.
ls /opt/maven
Come mostrato nell'output sopra, dovresti avere un file chiamato "bin" sotto /opt/maven, che contiene tutti gli eseguibili e gli script di Maven per eseguire Maven.
Per eseguire qualsiasi comando Maven, devi aggiungere il /opt/maven/bin directory nella tua variabile di ambiente PATH. Per fare ciò nella shell bash, esegui il comando seguente per creare un nuovo file e impostarne le proprietà in modo che possa essere eseguito come script.
sudo nano /etc/profile.d/maven.sh
Una volta creato, copia e incolla il seguente codice nel file.
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
export M2_HOME=/opt/maven
export PATH=${M2_HOME}/bin:${PATH}
Salva e chiudi il file quando hai finito di inserire il contenuto premendo i tasti Ctrl+O e poi confermalo premendo il tasto Invio e CTRL+X .
Ora per assicurarti che i tuoi percorsi aggiornati abbiano effetto, esegui il comando seguente, che dice alla tua shell bash di leggere e aggiungere le modifiche che hai apportato in /etc/profile.d/maven.s h.
source /etc/profile.d/maven.sh
Puoi vedere se Maven è installato sul tuo server eseguendo il comando mvn con l'opzione -version.
mvn -version
Dovresti ottenere un output come quello qui sotto.
Ora puoi rimuovere il file apache-maven-3.8.2 che hai scaricato in precedenza per risparmiare spazio con il comando seguente.
sudo rm apache-maven-3.8.2-bin.tar.gz
Ora puoi eseguire qualsiasi comando Maven dal terminale. Ad esempio, se vuoi creare un nuovo progetto Maven da un modello, puoi farlo digitando il seguente comando.
mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId={maven-template} -DinteractiveMode=fa
mvn archetype:generate -DgroupId=com.mkyong.hashing -DartifactId=java-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Questo comando dice a Maven di creare una directory con il nome di gruppo, artefatto e pacchetto che ho appena fornito. Questi valori verranno utilizzati anche come numeri di versione del progetto.
Otterrai un output come quello qui sotto, il che significa che Maven ha creato con successo un nuovo progetto nella directory java-project dal modello maven-archetype-quickstart.
Conclusione
In questo tutorial, hai imparato come aggiornare il tuo server Debian 11 e come installare Java 11. Hai anche installato Apache Maven e creato un nuovo progetto usando il modello maven-archetype-quickstart. Ci auguriamo che tu abbia trovato utile questo tutorial. Buona codifica!