diff --git a/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java index ecf97e4b1b13..f1d3406ee4e3 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java +++ b/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java @@ -848,9 +848,14 @@ private void initParent(MavenProject project, ModelBuilderResult result) { // // At this point the DefaultModelBuildingListener has fired, and it populates the // remote repositories with those found in the pom.xml, along with the existing externally - // defined repositories. + // defined repositories, filtering out duplicates. // - request.getRemoteRepositories().addAll(project.getRemoteArtifactRepositories()); + List repositories = request.getRemoteRepositories(); + Set keys = + repositories.stream().map(ArtifactRepository::getId).collect(Collectors.toSet()); + project.getRemoteArtifactRepositories().stream() + .filter(r -> !keys.contains(r.getId())) + .forEach(repositories::add); Path parentPomFile = parentModel.getPomFile(); if (parentPomFile != null) { project.setParentFile(parentPomFile.toFile());