Introduction à Maven

Définition et objectifs

Maven est un outil de construction et de gestion de projets.

Maven…

Pourquoi Maven?

Situation: Imaginez quelques activités d’un développement logiciel…

Question: Comment organiser et gérer un projet de développement ?

  1. À la va comme ça vient (sans outil, souvent basé sur l’IDE de développement, un peu n’importe comment)
    • Pas réutilisable : il faut réinventer la roue à chaque fois
    • Non portable :
      • Problème quand les membres de l’équipe n’ont pas le même environnement (Linux, Windows, Mac)
      • Problème lorsque les dépendances sont fonction de la plateforme de compilation
    • Symptôme qui ne ment pas : des binaires sont directement ajoutés dans le système de gestion des sources
  2. Approches « script », à la main (ex : makefile, Ant)
    • Peu réutilisable
    • Difficile à maintenir et à adapter à des besoins changeants
    • Complexité de compréhension pour les nouveaux membres de l’équipe
  3. Approches plus évoluées (ex : approche déclarative de Maven)
    • Plus simple, flexible, réutilisable et standardisé…
    • Réduit la complexité, apprentissage unique

Autres liens pour apprendre