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)