Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

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ètres globaux. 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 fichiers settings.xml et Maven existent tous les deux, leurs contenus seront fusionnés. S'il y a une intersection, le fichier utilisateur settings.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.