Maven dans JavaWorld | blogatom.

Un article sur Maven dans JavaWorld. Maven est un projet Jakarta qui permet qui centraliser toutes les fonctions nécessaires à la gestion d'un projet Java: dépendances avec d'autres librairies, génération de la documentation, compilation, assemblage pour distribution, etc.

Maven est entre autres censé résoudre le problème de la gestion de dépendances: les projets Java Open Source ont tendance à avoir tellement de dépendances sur d'autres projets/librairies qu'il est impossible de tout recompiler; les projets sont simplement livrés avec des versions compilées de leurs dépendances. C'est un gros pas en arrière par rapport à des systèmes comme CPAN (pour Perl) ou RPM (pour Unix/Linux), qui permettent de reconstruire complètement des packages, en suivant leurs dépendances, et en téléchargeant les sources depuis un repository distribué. Il y a même des distributions Linux entièrement bâties sur ce concept.

Maven apporte une réponse malheureusement trop simpliste: ils stockent simplement les JAR dont dépend le projet sur le site de iBiblio. Les dépendances ne sont pas recompilées/réinstallées. Le repository n'est pas distribué (et s'il tombe en panne?). Et comment le repository est-il mis à jour avec les nouvelles versions?

Pour le reste, Maven semble un bon outil pour donner une structure standard à un projet Java. Il y a déjà pas mal de projets Jakarta qui l'utilisent, et c'est vrai qu'il est du coup plus facile de comprendre rapidement comment tout s'articule.