20
Une (simple) présentation de Apache Maven 2 Tareq Abed Rabbo TeeJUG - 26/4/2008

Une (simple) présentation de Apache Maven 2

  • Upload
    teejug

  • View
    2.575

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Une (simple) présentation de Apache Maven 2

Une (simple) présentation de Apache Maven 2

Tareq Abed Rabbo

TeeJUG - 26/4/2008

Page 2: Une (simple) présentation de Apache Maven 2

Plan

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

Page 3: Une (simple) présentation de Apache Maven 2

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

Page 4: Une (simple) présentation de Apache Maven 2

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

Page 5: Une (simple) présentation de Apache Maven 2

Pourquoi Maven ?

Build Test Reporting Gestion de dépendances Distribution

Page 6: Une (simple) présentation de Apache Maven 2

Convention Over Configuration

Page 7: Une (simple) présentation de Apache Maven 2

Création d’une application

Page 8: Une (simple) présentation de Apache Maven 2

Structure de l’application

Page 9: Une (simple) présentation de Apache Maven 2

pom.xml

Page 10: Une (simple) présentation de Apache Maven 2

Un autre exemple

Page 11: Une (simple) présentation de Apache Maven 2

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

Page 12: Une (simple) présentation de Apache Maven 2

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

Page 13: Une (simple) présentation de Apache Maven 2

Cycle de vie

validate

compile

test

package

Page 14: Une (simple) présentation de Apache Maven 2

Gestion des dépendances

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

Local Distant

Page 15: Une (simple) présentation de Apache Maven 2

Dépendances

Page 16: Une (simple) présentation de Apache Maven 2

pom.xml

Page 17: Une (simple) présentation de Apache Maven 2

Structure de projet? ??

Page 18: Une (simple) présentation de Apache Maven 2

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

Page 19: Une (simple) présentation de Apache Maven 2

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

Page 20: Une (simple) présentation de Apache Maven 2

Merci !