diff --git a/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java b/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java index 6b8d24a6..4a87742d 100644 --- a/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java +++ b/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java @@ -1178,9 +1178,17 @@ public boolean updateExcludesInDeps( MavenProject project, List depe Exclusion exclusion = new Exclusion(); exclusion.setArtifactId( n3.getArtifact().getArtifactId() ); exclusion.setGroupId( n3.getArtifact().getGroupId() ); - dep.addExclusion( exclusion ); - modified = true; - break; + // only add an exclusion if it's not already present. + for ( Exclusion ex : dep.getExclusions() ) + { + if ( !ex.getArtifactId().equals( exclusion.getArtifactId() ) + || !ex.getGroupId().equals( exclusion.getGroupId() ) ) + { + dep.addExclusion( exclusion ); + modified = true; + break; + } + } } } }