Une (simple) présentation de Apache Maven 2

Preview:

Citation preview

Une (simple) présentation de Apache Maven 2

Tareq Abed Rabbo

TeeJUG - 26/4/2008

Plan

Présentation Création d’un projet Cycle de vie Gestion de dépendances Profils Problèmes

C’est quoi Maven ?

Apache Maven 2 Outils open source pour la gestion et

l’automatisation de production des projets Java

Commencé pour simplifier le build de Jakarta Turbine

Buts de Maven1. Simplifier le build

2. Système de build uniforme

3. Information de qualité sur le projet

4. Best practices

5. Intégrations de nouvelles fonctionnalités

Pourquoi Maven ?

Build Test Reporting Gestion de dépendances Distribution

Convention Over Configuration

Création d’une application

Structure de l’application

pom.xml

Un autre exemple

Cycle de vie

Plusieurs cycles de vie standards clean, default, site

Un cycle de vie composé de phases exécutées séquentiellement

Une phase est composé de goals Un goal est une tâche simple

Peut exister appartenir à 0..n phase

Choisir un cycle de vie

Packaging jar, war, ear

Plugins Artifact qui fournit de nouvelles fonctionnalité Fournit un ou plusieurs goal S’intègre avec le cycle de vie Exemples: génération de sources, tests,

compliation

Cycle de vie

validate

compile

test

package

Gestion des dépendances

Déclaration des dépendances : pom.xml Dépendances transitives Portée de dépendance Repository:

Local Distant

Dépendances

pom.xml

Structure de projet? ??

Profils

Modifier la configuration en fonction de l’environnement build repositories dependencies properties

Activation Élément activation : jdk, os, property, file Ligne de commande : option –P Profils toujours actifs

Problèmes• Documentation moyenne• Intégrations avec les IDEs?• Utilisation avec des projets existans?• Dependency Hell • Optimisations: accès http, consistance

Merci !

Recommended