Blog Zenika

#CodeTheWorld

Événements

Retour de la présentation Maven au JUG Paris

Passionnante présentation au JUG de Arnaud Héritier, committer Maven. Il a fourni de nombreux éléments de réponses aux différentes problématiques rencontrées quotidiennement par les utilisateurs.
Après un rapide état de la situation très mouvementé concernant le démantèlement de Mergere, le rachat de DevZuz par ExistGlobal et la création de la société Sonatype par Jason van Zyl, Arnaud Héritier confirme la fin définitive de Maven 1. Il a présenté la dernière version de Maven, la 2.0.9 comme un aboutissement des nombreuses versions précédentes. Il a insisté sur la forte présence de la communauté Maven avec maintenant près de 70 committers et une centaine de plugins répartis entre la communauté Apache et Codehaus.

Un point important à retenir concerne le mécanisme des dépendances transitives, une problématique récurrente concerne l’intégration des différents librairies Maven au sein de son projet : à cause d’une mauvaise utilisation du descripteur Maven (pom.xml), la déclaration d’une librairie dans son projet Maven provoque la récupération de nombreuses librairies externes non nécessaires. Pour palier à ce problème, la seule solution est l’utilisation de blocs <exclusion> au niveau de chaque déclaration de la librairie à importer, pour exclure manuellement les librairies non nécessaires.
Avec Maven 2.0.9, un travail de factorisation est possible par la construction de descripteurs à caractère technique contenant ces exclusions. Il suffit ensuite d’utiliser ces descripteurs transverses en les important dans son projet à l’aide du nouveau scope «import».
Mais dans tous les cas, ce travail pénible et laborieux doit être réalisé. Une question peut alors se poser, pourquoi ne pas autoriser dans Maven 2, la gestion des dépendances transitives à la demande autorisant ainsi au choix à récupérer oui/non les librairies en dépendances ? La réponse de Arnaud sur ce point est la suivante : “C’est à l’initiative des différents équipes frameworks de fournir avec leur API, un descripteur Maven”. Ainsi, selon Arnaud, les frameworks doivent avoir une approche Maven, en fournissant parmi leur livrables , un livrable Maven “pom.xml” utilisable sans ajout de configuration.
En conclusion, pour résumer de cette présentation JUG, Maven se porte très bien et devient de plus en plus un standard en entreprise. Il reste à observer de très près comment Maven va prendre en compte l’arrivée du nouveau format de distribution JAM (Java Module – JSR 277) et la prise en compte de OSGI avec Eclipse dont les contributions commencent à émerger avec pour exemple la présentation de Carlos Sanchez à la dernière EclipseCon.

Auteur/Autrice

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.