Dernière modification : 23/08/2022

Apache Maven - Mémo en ligne de commande

Apache Maven (appelé Maven) est un outil de gestion et d'automatisation de production des projets logiciels Java. Il est utilisé pour automatiser l'intégration continue lors d'un développement de logiciel. L'objectif recherché est de produire un logiciel à partir de ses sources, en optimisant les tâches réalisées à cette fin et en garantissant le bon ordre de fabrication.

Dans ce ticket nous allons aborder quelques commandes maven utiles.

 

Nettoie et installe l'application en local

mvn clean install

Update snapshot : Force la vérification des versions manquantes et des instantanés mis à jour sur les référentiels distants

mvn clean install -U

Ne pas exécuter les tests

mvn install -DskipTests

Ne pas compiler les tests

mvn install -Dmaven.test.skip=true

Exécuter une classe de test

mvn clean test -Dtest=ClassDeTest
mvn clean test -Dtest=ClassDe*

Exécuter un seul test

mvn clean test -Dtest=ClassDeTest#monTest

Installer les librairies locales

mvn validate

Effacer les répertoires bin

mvn clean

Compilation + Tests + Construction WAR/JAR

mvn package

Déployer l'application (exemple : nexus)

mvn deploy

Générer le site (Documentation)

mvn site

Préparer une release (commit git et tag)

mvn release:prepare

Effectuer la release (exemple : envoie sur le nexus)

mvn release:perform

Afficher les dépendances ayant reçus une mise à jour :

mvn versions:display-dependency-updates

Afficher l'arbre de dépendance des pom :

mvn dependency:tree

Utiliser un ou plusieurs profils :

mvn -P profil-1
mvn -P profil-1,profil-2

Obtenir un état des lieux des vunérabilités des dépendances utilisées :

Ajouter le plugin suivant dans le fichier pom.xml


	org.owasp
	dependency-check-maven
	7.1.0

Puis, exécuter la commande suivante afin d'avoir l'état des lieux (le fichier créé contenant les informations sera le suivant : target/dependency-check-report.html) :

mvn dependency-check:check

 

Pour plus d'informations : https://www.jmdoudoux.fr/java/dej/chap-maven.htm