1

Le Maven shade plugin fusionne les classes Java de votre projet avec ses dépendances en un seul fichier JAR. S'il existe un chevauchement (par exemple, deux dépendances contiennent une classe avec le même nom qualifié), il émet un avertissement et (si je comprends bien) utilise la dernière version de cette classe qu'il rencontre.Le module d'ombrage Maven peut-il échouer lors de la création de classes dupliquées?

Pour moi, cela semble un peu trop laxiste; un tel chevauchement pourrait facilement provoquer une liaison ou d'autres problèmes au moment de l'exécution, par ex. lorsque les classes qui se chevauchent contiennent un bytecode différent.

Est-il possible de configurer le plug-in d'ombrage pour l'échec de la construction lorsqu'il y a chevauchement, au lieu de simplement émettre un avertissement? Cela serait particulièrement utile sur un serveur CI où personne ne regarde les fichiers journaux pour voir s'il y a des avertissements.

Répondre

2

Il ne semble pas y avoir une telle option dans le plugin. J'ai logged an issue demandant ceci (mise à jour: et soumis un correctif aussi, que n'importe qui peut s'appliquer eux-mêmes si nécessaire).