FAQ MavenConsultez toutes les FAQ
Nombre d'auteurs : 11, nombre de questions : 97, dernière mise à jour : 12 mai 2014 Ajouter une question
Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums de http://www.developpez.com et de l'expérience personnelle des auteurs.
Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.
- 4.1. Gestion des dépendances (5)
- 4.2. Structuration et modules (4)
- 4.3. Ant (2)
- 4.4. Plug-in SCM (2)
- Comment créer un projet de base ?
- Comment créer un projet WEB ?
- Comment nettoyer un projet Maven ?
- Comment utiliser des propriétés du settings.xml dans le pom.xml ?
- Comment accéder aux variables d'environnement dans le pom.xml ?
- Comment indiquer à Maven une compilation avec une version particulière du JDK ?
- Comment indiquer à Maven une compilation avec un JDK particulier ?
- Comment compiler uniquement les sources des tests ?
- Comment compiler uniquement les sources ?
- Comment générer un JAR des sources ?
- Comment déployer un JAR de sources dans le repository ?
- Comment générer un JAR des sources des tests ?
- Comment exécuter uniquement les tests sur un projet ?
- Comment créer une release d'un projet ?
- Comment désactiver les tests dans une phase d'installation ?
- Comment modifier une des valeurs par défaut de la commande release:prepare ?
- Comment vérifier la validité d'un projet Maven ?
- Comment ajouter des membres sur un projet ?
- Comment lister les profils actifs d'un projet ?
- Comment connaître le paramétrage d'un projet ?
- Comment désinstaller un artefact du repository local ?
Exécuter la commande suivante pour créer un projet basique :
Code batch : | Sélectionner tout |
mvn archetype:create -DgroupId=fr.monGroupId -DartifactId=MaBaseDeDonnees -Dpackagename=fr.monGroupId
Dans une console de commande DOS, exécuter la commande suivante pour créer un projet basique :
Code batch : | Sélectionner tout |
1 2 | mvn archetype:create -DgroupId=fr.monGroupId -DartifactId=MonApplicationWeb -Dpackagename=fr.monGroupId -DarchetypeArtifactId=maven-archetype-webapp |
Il suffit de taper la commande suivante :
Code batch : | Sélectionner tout |
mvn clean
Les répertoires project.build.directory (par défaut target), project.build.outputDirectory (par défaut target/classes), project.build.testOutputDirectory (par défaut target/test-classes) et project.reporting.outputDirectory (par défaut target/site) seront entièrement supprimés.
Il est vivement conseillé d'exécuter la tâche clean avant toute autre opération.
Il est possible de paramétrer dans le fichier settings.xml des propriétés utilisables dans le pom.xml.
Il faut définir premièrement la propriété dans le fichier settings.xml :
Code xml : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <settings> ... <profiles> <profile> <id>inject-application-home</id> <properties> <application-home>/path/to/application</application-home> </properties> </profile> </profiles> <activeProfiles> <activeProfile>inject-application-home</activeProfile> </activeProfiles> </settings> |
Et ensuite l'utiliser dans le pom.xml, un exemple avec la génération du rapport des tags :
Code xml : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | </project> ... <reporting> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> <version>2.0</version> <configuration> <outputDirectory>${application-home}</outputDirectory> </configuration> </plugin> </plugins> </reporting> ... </project> |
Il suffit d'utiliser la notation ${env.X} dans le fichier pom.xml, où X doit être remplacé par le nom d'une variable d'environnement.
Par exemple, pour accéder au PATH sous Windows ce sera ${env.PATH} que vous utiliserez dans le pom.xml.
Ajouter au fichier pom.xml les balises suivantes :
Code xml : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build> |
Il faut savoir que le plugin de compilation Maven est configuré avec source et target en 1.5 indépendamment du JDK utilisé par Maven. Par défaut, votre compilation sous Maven sera donc faite en 1.5.
L'annotation compilerVersion peut être paramétrer pour spécifier la version du compilateur à utiliser.
Voici la syntaxe à utiliser pour compiler avec un JDK 1.3 :
Code xml : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <project> [...] <build> [...] <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <verbose>true</verbose> <fork>true</fork> <executable>C:/Program Files/Java/jdk1.3.1_18/bin/javac</executable> <compilerVersion>1.3</compilerVersion> </configuration> </plugin> </plugins> [...] </build> [...] </project> |
Dans une console de commandes, accéder au répertoire du projet, et exécuter la commande suivante :
Code batch : | Sélectionner tout |
mvn compiler:testCompile
Dans une console de commandes, accéder au répertoire du projet, et exécuter la commande suivante :
Code batch : | Sélectionner tout |
mvn compiler:compile
Dans une console de commandes, accéder au répertoire du projet, et exécuter la commande suivante :
Code batch : | Sélectionner tout |
mvn source:jar
En modifiant dans le fichier pom.xml :
Code xml : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <build> <plugins> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>bind-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> ... </plugins> </build> |
Dans une console de commandes, accéder au répertoire du projet, et exécuter la commande suivante :
Code batch : | Sélectionner tout |
mvn source:test-jar
Le fichier JAR est généré dans le répertoire /target du projet.
Dans une console de commandes, accéder au répertoire du projet, et exécuter la commande suivante :
Code batch : | Sélectionner tout |
mvn test
Une release se déroule en deux étapes :
- release:prepare : exécutée une seule fois par release, cette tâche effectue toutes les manipulations nécessaires au sein du projet et du gestionnaire de sources (SCM) aboutissant à une version taggée dans le SCM.
- release:perform : executée autant de fois que nécessaire, cette tâche permet une recontruction à partir de la version précédemment taggée (par le release:prepare) et aboutit à un déploiement de l'artifact sur le référentiel distant (remote repository)
Pour une release:prepare, dans une console de commandes, accéder au répertoire du projet, et exécuter la commande suivante :
Code : | Sélectionner tout |
mvn release:prepare
Code : | Sélectionner tout |
mvn --batch-mode release:prepare
Code : | Sélectionner tout |
mvn release:perform
En ajoutant l'option suivante à la ligne de commande :
Code : | Sélectionner tout |
mvn -Dmaven.test.skip=true install
Code xml : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 | <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> |
La commande release:prepare se base sur un fichier release.properties créé par la commande elle-même à la racine du projet. Il est possible de créer soit même et par avance le fichier release.properties en renseignant les valeurs par défaut.
Par exemple, pour définir le tag utilisé dans le SCM pour la release :
Code : | Sélectionner tout |
scm.tag=MonReleaseTag
Dans une console de commandes, accéder au répertoire du projet, et exécuter la commande suivante :
Code batch : | Sélectionner tout |
mvn validate
Cette commande vérifie que le projet possède toutes les informations nécessaires à son bon fonctionnement avec Maven.
Dans le fichier pom.xml du projet , ajouter une entrée comme ceci :
Code xml : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <developers> <developer> <id>prenomnom</id> <name>Prénom NOM</name> <email>prenom.nom@domaine.com</email> <url>http://www.societe.fr</url> <organization>SOCIETE</organization> <organizationUrl>http://www.societe.fr</organizationUrl> <roles> <role>administrateur</role> </roles> <timezone>0</timezone> <properties><messenger>test</messenger></properties> </developer> </developers> |
L'id est utilisé par les outils d'intégration continue tel que Continuum pour faire le mapping entre l'auteur d'un commit dans l'outil de gestion de conf est le développeur déclaré dans le POM.
Dans une console de commandes, accéder au répertoire du projet, et exécuter la commande suivante :
Code batch : | Sélectionner tout |
mvn help:active-profiles
Dans une console de commandes, accéder au répertoire du projet, et exécuter la commande suivante :
Code batch : | Sélectionner tout |
mvn help:effective-pom
Ou :
Code batch : | Sélectionner tout |
mvn help:effective-settings
Il n'y a pas de commande pour effectuer cette opération, il suffit de supprimer le répertoire de l'artefact dans le repository.
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.