2 votes

Maven: Conflit de dépendances jar

J'ai un projet avec deux versions du même jar (ils implémentent des classes similaires et d'autres classes spécifiques). Un jar est utilisé pour les fichiers source Java dans un dossier, et l'autre est utilisé pour un autre dossier.

Le problème est qu'il provoque un conflit de jar (implémentation de classes différentes), car il semble que les deux dossiers utilisent le premier jar trouvé dans la liste des dépendances, comme :

Jar_file ... 1.0.0

Jar_file ... 2.0.0

Alors, ma question est comment associer ces dépendances particulières à chaque dossier dans le même projet ?

Amicalement.

5voto

chkal Points 3346

Vous devriez refacturer les deux "dossiers" en deux modules maven distincts. Chacun peut maintenant déclarer la version de la bibliothèque requise. Ensuite, utilisez le plugin maven-shade pour ombrer la bibliothèque dans les fichiers JAR résultants pour les deux modules. De plus, utilisez la fonction de relocalisation de classes du plugin maven-shade pour relocaliser les classes de la bibliothèque dans de nouveaux packages. Choisissez des noms de package différents pour les deux versions de la bibliothèque. Vous finirez par avoir les deux versions de la bibliothèque dans deux packages différents ombrés dans les fichiers JAR résultants.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X