diff --git a/pom.xml b/pom.xml index e60fa9c48..16e0a1e64 100644 --- a/pom.xml +++ b/pom.xml @@ -260,11 +260,6 @@ under the License. commons-collections4 4.4 - - org.apache.commons - commons-lang3 - 3.12.0 - diff --git a/src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeDuplicateMojo.java b/src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeDuplicateMojo.java index 11a0d6a11..ab5bed3a3 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeDuplicateMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeDuplicateMojo.java @@ -20,14 +20,14 @@ import java.io.IOException; import java.io.Reader; -import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; -import org.apache.commons.collections4.CollectionUtils; import org.apache.maven.model.Dependency; import org.apache.maven.model.Model; import org.apache.maven.model.io.xpp3.MavenXpp3Reader; @@ -131,14 +131,11 @@ private void createMessage( } private Set findDuplicateDependencies(List modelDependencies) { - List modelDependencies2 = new ArrayList<>(); - for (Dependency dep : modelDependencies) { - modelDependencies2.add(dep.getManagementKey()); - } - - // @formatter:off - return new LinkedHashSet<>( - CollectionUtils.disjunction(modelDependencies2, new LinkedHashSet<>(modelDependencies2))); - // @formatter:on + List modelDependencies2 = + modelDependencies.stream().map(Dependency::getManagementKey).collect(Collectors.toList()); + // remove one instance of each element from the list + modelDependencies2.removeIf(new HashSet<>(modelDependencies2)::remove); + // keep a single instance of each duplicate + return new LinkedHashSet<>(modelDependencies2); } }