Chapitre 2. Guide Maven
2.1. Pour en savoir plus sur Maven
2.1.1. Le référentiel Maven
Apache Maven est un outil d'automation de builds distribué, utilisé en développement Java pour créer, gérer et générer des projets informatiques. Maven utilise des fichiers de configuration nommés Project Object Model, ou POM, pour définir des projets et gérer le processus de construction. Les POM décrivent le module et les dépendance du composant, et les sorties sont sous forme de fichier XML. Cela assure que le projet soit construit de façon correcte et uniforme.
Maven y parvient en utilisant un référentiel. Un référentiel Maven stocke les bibliothèques, plug-ins et autres artefacts de la build. Le référentiel public par défaut est le Maven 2 Central Repository, mais les référentiels peuvent être privés et internes à une entreprise dans le but de partager des artefacts communs au sein d'équipes de développeurs. Les référentiels sont également disponibles auprès de tierces parties. JBoss EAP 6 comprend un référentiel Maven contenant un grand nombre des prérequis que les développeurs de Java EE utilisent habituellement pour développer des applications sous JBoss EAP 6. Pour configurer votre projet pour utiliser ce référentiel, veuillez consulter Section 2.3.1, « Configurer le référentiel Maven 6 de JBoss EAP ».
On ne peut accéder aux référentiels qu'à l'aide de protocoles tels qu'
http://
pour les référentiels qui se trouvent sur un serveur HHTP ou file://
pour les référentiels qui se trouvent dans un serveur de fichiers.
Pour davantage d'informations sur Maven, voir Welcome to Apache Maven.
Pour davantage d'informations sur les référentiels Maven, voir Apache Maven Project - Introduction to Repositories.
Pour davantage d'informations sur les fichiers POM de Maven, voir Apache Maven Project POM Reference et Section 2.1.2, « Le fichier POM Maven ».
2.1.2. Le fichier POM Maven
Un fichier POM (Project Object Model) est un fichier de configuration utilisé par Maven pour compiler des projets. Il s'agit d'un fichier XML contenant des informations sur un projet et sur comment le compiler, y compris l'emplacement des répertoires source, test et cible, les dépendances des projets, les réferentiels de plug-ins et les objectifs qu'il peut exécuter. Il peut également comprendre des détails supplémentaires sur le projet, comme, en autre, sa version, sa description, ses développeurs, sa liste de diffusion et sa licence. Un fichier
pom.xml
requiert certaines options de configuration définissant la valeur par défaut. Voir Section 2.1.3, « Conditions minimum pour un fichier POM Maven » pour plus de détails.
Le schéma pour le fichier
pom.xml
est disponible sur le lien http://maven.apache.org/maven-v4_0_0.xsd.
Pour plus d'informations concernant les fichiers POM, veuillez consulter Apache Maven Project POM Reference.
2.1.3. Conditions minimum pour un fichier POM Maven
Conditions minimum
Les conditions minimum pour un fichier pom.xml
sont les suivantes :
- project root
- modelVersion
- groupId - l'id du groupe du projet
- artifactId - l'id de l'artifact (projet)
- version - la version de l'artifact dans le groupe spécifié
Échantillon de fichier pom.xml
Un fichier pom.xml
de base devrait resssembler à ceci :
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.jboss.app</groupId> <artifactId>my-app</artifactId> <version>1</version> </project>
2.1.4. Le fichier des configurations de Maven
Le fichier Maven
settings.xml
contient des informations de configuration spécifiques à l'utilisateur pour Maven. Il contient des informations qui ne devraient pas être distribuées dans le fichier pom.xml
, comme l'identité du dévelopeur, l'information sur le proxy, l'emplacement du référentiel local, et autres paramètres propres à un utilisateur.
Il y a deux endroits où on peut trouver le fichier
settings.xml
.
- Dans l'installation Maven
- Le fichier de configuration se trouve dans le répertoire
M2_HOME/conf/
. On les appelle les paramètresglobaux
. Le fichier de configuration Maven par défaut est un modèle qui peut être copié et utilisé comme point de départ pour le fichier des paramètres utilisateur. - Dans l'installation de l'utilisateur
- Le fichier de configuration se trouve dans le répertoire
USER_HOME/.m2/
. Si les fichierssettings.xml
et Maven existent tous les deux, leurs contenus seront fusionnés. S'il y a une intersection, le fichier utilisateursettings.xml
aura priorité.
Voici un exemple d'un fichier
settings.xml
Maven :
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <profiles> <!-- Configure the JBoss EAP Maven repository --> <profile> <id>jboss-eap-maven-repository</id> <repositories> <repository> <id>jboss-eap</id> <url>file:///path/to/repo/jboss-eap-6.4-maven-repository</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>jboss-eap-maven-plugin-repository</id> <url>file:///path/to/repo/jboss-eap-6.4-maven-repository</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <!-- Optionally, make the repository active by default --> <activeProfile>jboss-eap-maven-repository</activeProfile> </activeProfiles> </settings>
On peut trouver le schéma du fichier
settings.xml
à l'adresse suivante http://maven.apache.org/xsd/settings-1.0.0.xsd.