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);
}
}