Apache Maven est un outil d'automatisation de build et de gestion de projet logiciel, principalement utilisé pour les projets Java. Il utilise un modèle d'objet de projet (POM) pour fournir un système de construction uniforme avec une utilisation cohérente dans tous les projets. Maven offre également une gestion des dépendances, une extensibilité via des plugins et une intégration avec Git pour la gestion des versions. Il peut également générer des informations sur votre projet (vous en trouverez un exemple ici).
Dans ce didacticiel, nous allons installer Apache Maven sur un système Debian 10 et le tester avec une simple application Java.
Exigences
- Une instance Debian 10 sur laquelle vous avez accès à l'utilisateur root ou à un utilisateur avec des privilèges sudo.
Si vous utilisez un utilisateur sudo, démarrez et utilisez un shell root pour la durée de cette configuration :
sudo -s
Étape 1 :Installer un JDK
Mettez à jour votre index de package et installez les mises à jour avec les commandes :
apt update apt upgrade -y
Installez ensuite les packages default-jdk, wget et git. Le premier fournit un kit de développement compatible java (OpenJDK 11), wget sera utilisé pour télécharger Maven, et git est requis pour l'étape de test.
apt install -y default-jdk wget git
Maven nécessite que la variable d'environnement $JAVA_HOME soit définie. Vous pouvez le définir à l'échelle du système avec la commande suivante :
echo "export JAVA_HOME=/lib/jvm/default-java" >> /etc/profile
Étape 2 :Installer Apache Maven
Tout d'abord, téléchargez et importez les clés publiques utilisées par les développeurs Apache Maven. Ceux-ci seront utilisés pour vérifier
cd /tmp wget https://www.apache.org/dist/maven/KEYS gpg --import KEYS && rm KEYS
Accédez ensuite à la page de téléchargement d'Apache Maven et copiez les derniers liens de téléchargement pour le format "Binary tar.gz archive" et son fichier de signature correspondant. Téléchargez-les comme suit :
wget -O maven.tgz LINK.tar.gz wget -O maven.tgz.asc LINK.tar.gz.asc
Par exemple :
wget -O maven.tgz https://www-eu.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz wget -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
Et vérifiez la signature à l'aide de la commande suivante. La signature doit correspondre à l'une des clés importées précédemment.
gpg --verify maven.tgz.asc maven.tgz
Assurez-vous que la sortie résultante contient une bonne signature avant de continuer. Par exemple :
gpg: Signature made Tue 27 Aug 2019 05:10:12 PM CEST gpg: using RSA key BBE7232D7991050B54C8EA0ADC08637CA615D22C gpg: Good signature from "Enrico Olivelli <[email protected]>" [unknown]
Ensuite, décompressez et déplacez le répertoire résultant avec :
tar -xzf maven.tgz rm maven.tgz* mv apache-maven* /opt/maven
Ensuite, ajoutez le répertoire /opt/maven/bin à votre variable d'environnement $PATH :
echo "export PATH=$PATH:/opt/maven/bin" >> /etc/profile
Source /etc/profile pour charger les nouvelles variables d'environnement avec :
. /etc/profile
Vous devriez maintenant pouvoir utiliser maven. Essayez ce qui suit :
mvn -v
Vous devriez voir une sortie semblable à la suivante :
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T17:06:16+02:00) Maven home: /opt/maven Java version: 11.0.5, vendor: Debian, runtime: /usr/lib/jvm/java-11-openjdk-amd64 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.19.0-6-amd64", arch: "amd64", family: "unix"
Étape 3 :Tester Maven
Cette étape est facultative.
Nous pouvons essayer de compiler un simple projet Hello World avec Maven pour vérifier qu'il fonctionne correctement. Clonez ce dépôt Github avec les commandes suivantes :
cd /tmp git clone https://github.com/nxnjz/java_maven_helloworld.git
Construisez le projet avec Maven :
cd java_maven_helloworld/ mvn package
La commande mvn package exécute chaque phase de construction dans l'ordre jusqu'à la phase de package. Par défaut, cela inclut les grandes phases suivantes :valider, compiler, tester, packager. En cas de succès, il se terminera avec la sortie suivante :
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------
Nous pouvons maintenant exécuter le JAR compilé :
java -cp target/hello-world-0.1.0.jar hello.HelloWorld
- Qu'est-ce que Maven
- Guide de démarrage Maven
Si vous rencontrez des problèmes en suivant ce guide, n'hésitez pas à laisser un commentaire ci-dessous.