Les FAQs Java :
FAQ JAVA FAQ Java EE FAQ Java ME FAQ Java XML FAQ JavaFX FAQ Java GUI FAQ Struts FAQ JSF FAQ JDBC JDO FAQ Hibernate FAQ Spring FAQ Eclipse FAQ NetBeans FAQ JCreator FAQ Maven 2

FAQ Maven 2Consultez toutes les FAQ

Nombre d'auteurs : 4, nombre de questions : 89, dernière mise à jour : 17 mai 2009 

 
OuvrirSommaireTerminologie et documentation

Maven est essentiellement un outil de gestion et de compréhension de projet.

Maven offre des fonctionnalités de :

  • Construction , compilation
  • Documentation
  • Rapport
  • Gestion des dépendances
  • Gestion des sources
  • Mise à jour de projet
  • Déploiement
Mis à jour le 17 juillet 2006  par Eric Reboisson

Sur developpez.com :

Introduction à Maven 2 par Denis Cabasson

Le site de Maven à l'adresse suivante http://maven.apache.org

De la documentation sur les plugins sur le site de Maven à l'adresse suivante : http://maven.apache.org/plugins/index.html

Mojo est un projet de la fondation codehaus qui héberge un grand nombre de plugins pour Maven. La documentation concernant ces plugins peut être trouvée à l'adresse suivante : http://mojo.codehaus.org/

Mergere propose en téléchargement gratuit un ebook gratuit intitulé "Better Builds with Maven" sur Maven 2.

Mis à jour le 17 juillet 2006  par Eric Reboisson, Denis Cabasson

DevZuz est un cabinet de consultants réunissant les plus grands noms du PMC (Project Management Comittee) de Maven 2, Brett Porter, Maria Odea Ching ou encore Emmanuel Venisse (que nos forumeux connaissent bien).

Ce cabinet présente donc une expertise reconnue sur les solutions basées sur Maven et propose en particulier en une offre packagée de Maven/Continuum/Archiva sous le nom de Maestro et un ebook gratuit intitulé "Better Builds with Maven" sur Maven 2, écrit là encore par des membres influents du projet.

Sonatype est un autre cabinet de consultants regroupant d'autres membres du PMC Maven. Cette société a également un livre gratuit en ligne : Maven: The Definitive Guide.

Créé le 31 août 2007  par Emmanuel Venisse

Le POM (Project Object Model) est une façon de décrire, de manière déclarative, un projet au sens de Maven.

Cette description est contenue dans le fichier pom.xml présent dans le repertoire de base du projet.

Le fichier pom.xml contient donc tous les éléments permettant de gérer le cycle de vie du projet.

Exemple d'un fichier pom.xml
Sélectionnez

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
</project>
  • project : c'est la balise racine de tous les fichiers pom.xml.
  • modelVersion : cette balise indique la version de POM utilisée. Bien que cette version ne change pas fréquemment, elle est obligatoire afin de garantir la stabilité d'utilisation.
  • groupId : cette balise permet d'identifier un groupe qui a créé le projet. Cette clé permet d'organiser et de retrouver plus facilement et rapidement le projet.
  • artifactId : cette balise indique un nom unique utilisé pour nommer les artifacts à construire.
  • packaging : type de packaging du projet ( ex : JAR, WAR, EAR, etc.).
  • version : version de l'artifact généré par le projet.
  • name : nom du projet.
  • url : adresse du site du projet.
  • description : description du projet.
  • dependencies : balise permettant de gérer les dépendances.

Voir aussi : La documentation de référence du POM

Mis à jour le 17 juillet 2006  par Eric Reboisson

Un archetype est un template de projet.

Le fait d'utiliser des archetypes pour initialiser un projet permet de gagner du temps et de respecter une certaine convention.

Voir aussi :
Introduction to Archetypes
Guide to Creating Archetypes

Créé le 13 août 2006  par Emmanuel Venisse, Eric Reboisson

Une dépendance est une référence vers un artefact spécifique contenu dans un repository.

Cet artefact est nécessaire pour une ou plusieurs phases du cycle de vie du projet.

L'exemple le plus simple est une dépendance sur une bibliothèque jar qui permet d'en utiliser le contenu dans le projet.

Mis à jour le 17 juillet 2006  par Denis Cabasson, Eric Reboisson

Dans Maven, un artefact est un élément spécifique issu de la construction du logiciel.

Dans JAVA, les artefacts les plus communs sont des JARs, mais ce peut être aussi un fichier WAR, un EAR, un ZIP, etc...

Mis à jour le 17 juillet 2006  par Denis Cabasson, Eric Reboisson

Le groupId est l'identifiant du groupe, à l'origine du projet. GroupId suit les mêmes règles de nommage que les packages Java (exemple : fr.masociete.monprojet), et on choisit généralement comme groupId le nom du top package du projet.

L'artifactId est l'identifiant du projet au sein de ce groupe.

L'artifactId est utilisé par défaut pour construire le nom de l'artefact final (exemple : pour un artifactId=monprojet, le nom du fichier jar généré sera monprojet-version.jar).

Mis à jour le 11 septembre 2006  par Denis Cabasson, Eric Reboisson

Par convention, une version en cours de développement d'un projet voit son numéro de version suivi d'un -SNAPSHOT.

Ainsi un projet en version 2.0-SNAPSHOT signifie que cette version est une pré-version de la version 2.0, en cours de développement.

Ce concept de SNAPSHOT est particulièrement important pour Maven. En effet, dans la gestion des dépendances, Maven va chercher à mettre à jour les versions SNAPSHOT régulièrement pour prendre en compte les derniers développements.

Utiliser une version SNAPSHOT permet de bénéficier des dernières fonctionnalités d'un projet, mais en contre-partie, cette version peut être (et est) appellée à être modifiée de façon importante, sans aucun préavis.

Pour plus de renseignements sur la gestion des versions dans Maven, voir aussi : Dependency Mediation and Conflict Resolution

Mis à jour le 17 juillet 2006  par Denis Cabasson, Eric Reboisson

Un repository local est un répertoire sur le poste du développeur permettant de stocker, suivant la même arborescence, tous les artefacts téléchargés depuis le(s) repository distant(s).

Un projet ayant pour POM :

 
Sélectionnez

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>fr.masociete</groupId>
  <artifactId>monprojet</artifactId>
  <version>1.0</version>
</project>

sera stocké, dans le repository, suivant cette arborescence : ${repository_home}/fr/masociete/monprojet/1.0/

Mis à jour le 17 août 2006  par Eric Reboisson
  

Les 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 © 2006 - 2014 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.