Ruchir Sachdeva created MNG-5723: ------------------------------------ Summary: Why does maven 3.2 download same artifact multiple times from all repositories defined in pom ? Key: MNG-5723 URL: https://jira.codehaus.org/browse/MNG-5723 Project: Maven Issue Type: Bug Affects Versions: 3.2.3, 3.2.2, 3.2.1 Reporter: Ruchir Sachdeva
I have defined 2 repositories in pom.xml like below. One is public and other is thirdparty. <repositories> <repository> <id>public</id> <name>Nexus - Public Repositories</name> <layout>default</layout> <url>http://mavenrepo.aaa.net/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>thirdparty</id> <name>Nexus - Third Party</name> <layout>default</layout> <url>http://mavenrepo.aaa.net/nexus/content/repositories/thirdparty</url> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> Say there is a dependency called grpId:artId:1.1.0 which I have defined in my pom. This dependency is present in both the repositories defined above- public and thirdparty When I run mvn install I see different behaviours in the way maven downloads the grpId:artId:1.1.0 artifact based on the version of maven i am using. Behaviours :- **1. Using Maven 3.1 and previous versions** - **a.** Maven looks up the dependency grpId:artId:1.1.0 in 'public' repo - **b.** Maven finds the dependency and downloads it. - **c.** Maven does not look up the dependency grpId:artId:1.1.0 in 'thirdparty' repo as it is already downloaded from previous repository. **2. Using Maven 3.2** - **a.** Maven looks up the dependency grpId:artId:1.1.0 in 'public' repo - **b.** Maven finds the dependency in 'public' repo and downloads it. - **c.** Maven again looks up the dependency grpId:artId:1.1.0 in 'thirdparty' repo even though it is already downloaded from 'public' repository. - **d.** Maven finds the dependency in 'thirdparty' repo and downloads it and overwrites the dependency downloaded from 'public' repo previously I wonder why maven is behaving in an absurd manner for maven-3.2. It should stop looking further for the dependency which is already resolved and downloaded from one repository . Is there a way to achieve it using maven 3.2 ? -- This message was sent by Atlassian JIRA (v6.1.6#6162)