Apache Maven è uno strumento di automazione della compilazione e gestione dei progetti software, utilizzato principalmente per progetti Java. Utilizza un modello a oggetti di progetto (POM) per fornire un sistema di compilazione uniforme con un utilizzo coerente in tutti i progetti. Maven offre anche gestione delle dipendenze, estensibilità tramite plug-in e integrazione con Git per la gestione delle versioni. Può anche generare informazioni sul tuo progetto (un esempio può essere trovato qui).
In questo tutorial installeremo Apache Maven su un sistema Debian 10 e lo testeremo con una semplice applicazione java.
Requisiti
- Un'istanza Debian 10 su cui hai accesso all'utente root o a un utente con privilegi sudo.
Se si utilizza un utente sudo, avviare e utilizzare una shell di root per la durata di questa configurazione:
sudo -s
Passaggio 1:installazione di un JDK
Aggiorna l'indice del tuo pacchetto e installa eventuali aggiornamenti con i comandi:
apt updateapt upgrade -y
Quindi installa i pacchetti default-jdk, wget e git. Il primo fornisce un kit di sviluppo compatibile con Java (OpenJDK 11), wget verrà utilizzato per scaricare Maven e git è richiesto per la fase di test.
apt install -y default-jdk wget git
Maven richiede l'impostazione della variabile di ambiente $JAVA_HOME. Puoi impostarlo a livello di sistema con il seguente comando:
echo "export JAVA_HOME=/lib/jvm/default-java">> /etc/profile
Fase 2:installazione di Apache Maven
Innanzitutto, scarica e importa le chiavi pubbliche utilizzate dagli sviluppatori di Apache Maven. Questi verranno utilizzati per verificare
cd /tmpwget https://www.apache.org/dist/maven/KEYSgpg --import KEYS &&rm KEYS
Quindi vai alla pagina di download di Apache Maven e copia gli ultimi collegamenti di download per il formato "Archivio binario tar.gz" e il file di firma corrispondente. Scaricali come segue:
wget -O maven.tgz LINK.tar.gzwget -O maven.tgz.asc LINK.tar.gz.asc
Ad esempio:
wget -O maven.tgz https://www-eu.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gzwget -O maven.tgz.asc https://www.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz.asc
E verifica la firma usando il comando seguente. La firma deve corrispondere a una delle chiavi importate in precedenza.
gpg --verify maven.tgz.asc maven.tgz
Assicurati che l'output risultante contenga una firma buona prima di procedere. Ad esempio:
gpg:Firma effettuata mar 27 ago 2019 05:10:12 CESTgpg:using RSA key BBE7232D7991050B54C8EA0ADC08637CA615D22Cgpg:Buona firma da "Enrico Olivelli <[email protected]>>" [sconosciuto]
Quindi decomprimere e spostare la directory risultante con:
tar -xzf maven.tgzrm maven.tgz*mv apache-maven* /opt/maven
Quindi, aggiungi la directory /opt/maven/bin alla tua variabile di ambiente $PATH:
echo "export PATH=$PATH:/opt/maven/bin">> /etc/profile
Sorgente /etc/profile per caricare le nuove variabili di ambiente con:
Ora dovresti essere in grado di usare Maven. Prova quanto segue:
mvn -v
Dovresti vedere un output simile al seguente:
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T17:06:16+02:00)Maven home:/opt/mavenJava version:11.0.5, vendor:Debian, runtime:/usr/lib/jvm /java-11-openjdk-amd64 Localizzazione predefinita:en_US, codifica piattaforma:UTF-8OS nome:"linux", versione:"4.19.0-6-amd64", arch:"amd64", famiglia:"unix"
Fase 3:test di Maven
Questo passaggio è facoltativo.
Possiamo provare a compilare un semplice progetto Hello World con Maven per verificare che funzioni correttamente. Clona questo repository Github con i seguenti comandi:
cd /tmpgit clone https://github.com/nxnjz/java_maven_helloworld.git
Costruisci il progetto con Maven:
pacchetto cd java_maven_helloworld/mvn
Il comando mvn package esegue ogni fase di compilazione fino alla fase del package. Per impostazione predefinita, ciò include le seguenti fasi principali:convalida, compilazione, test, pacchetto. In caso di successo, uscirà con il seguente output:
[INFO] ----------------------------------------------------------- ----------------------------[INFO] BUILD SUCCESS[INFO] --------------- -------------------------------------------------- --------
Ora possiamo eseguire il JAR compilato:
java -cp target/hello-world-0.1.0.jar hello.HelloWorld
- Cos'è Maven
- Guida introduttiva di Maven
Se riscontri problemi mentre segui questa guida, non esitare a lasciare un commento qui sotto.