Bonjour,
Si comme moi il vous arrive de transformer des projet non-maven vers un projet respectant les bonnes pratiques Maven, alors vous avez déjà eu affaire aux problèmes des dépendances. Quels sont les dépendances de mon projet? Quel version ? Ce fichier a t il été modifié?
Pour simplifier les choses, on a généralement un bon gros répertoire libs
et on doit les traduire en dépendance Maven.
La seule façon simple qui garantit la bonne migration d'une librairie s'est de calculer sa signature Hash et de la comparer avec la dépendance identifié via Maven. Pour quelques librairies pourquoi pas, mais quand il s'agit de plusieurs centaines alors c'est moins rigolo.
Pour éviter ce genre de désagrément, j'ai crée un petit plugin maven que j'ai appelé (faute d'originalité) dependenciesGenerator-maven-plugin. Il permet de transformer (migrer?) un répertoire lib en dépendances maven.
Ce plugin permet de :
- Générer un template de définition de librairie intégrable dans la partie <dependency> du pom.xml du projet.
- Créer un script (.bat ou .sh) pour installer les libs sur son repo local voir sur son Repository Manager (Nexus)
- Utiliser un (ou plusieurs) Nexus (repository Manager) pour vérifier que la lib dans le répertoire est bien une librairie "standard" et non modifié et ainsi l'utiliser.
- Lister l'ensemble des libs et exporter la déclaration des artefacts sous format csv.
- Vérifier si la lib est présente dans un ou plusieurs Nexus et exporter le résultat sous format csv. Les libs non trouvé porteront alors une signature d'artefact par défaut.
- Importer le fichier csv précédemment créer (et éventuellement modifié par l'utilisateur) pour générer la partie dépendances de son pom.xml et pour générer le script d'intégration des librairies non trouvés dans son repository maven.
Pour plus d'informations : http://opensourceecm.fr/maven/depend...rator/faq.html
Bien entendu, tous les retours, les suggestions, les remarques, les idées, les bugs identifiés sont les bienvenus.
En espérant que cela aide certaines personnes.
Cordialement,
JM.PASCAL
Partager