[
http://jira.codehaus.org/browse/MNG-4263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=185230#action_185230
]
Arnaud commented on MNG-4263:
-----------------------------
Si if I understand, the documentation is wrong (
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
):
bq. since Maven 2.0.5 it's the order in the declaration that counts: the
first declaration wins.
it's not the the order in the declaration that counts with Maven 2.0.5, 2.0.6,
2.0.8 due to some HashMaps and it was fix in 2.0.10
Thx you
> Dependencies resolution & the order in the declaration
> ------------------------------------------------------
>
> Key: MNG-4263
> URL: http://jira.codehaus.org/browse/MNG-4263
> Project: Maven 2
> Issue Type: Bug
> Components: Dependencies
> Affects Versions: 2.0.8
> Environment: Maven version: 2.0.8
> Java version: 1.5.0_15
> OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
> Reporter: Arnaud
> Assignee: Benjamin Bentmann
> Attachments: project-test.zip
>
>
> Hi, I've got som trouble with Maven resolution.
> I read (here :
> http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
> ):
> bq. Dependency mediation - this determines what version of a dependency will
> be used when multiple versions of an artifact are encountered. Currently,
> Maven 2.0 only supports using the "nearest definition" which means that it
> will use the version of the closest dependency to your project in the tree of
> dependencies. You can always guarantee a version by declaring it explicitly
> in your project's POM. Note that if two dependency versions are at the same
> depth in the dependency tree, until Maven 2.0.4 it was not defined which one
> would win, but since Maven 2.0.5 it's the order in the declaration that
> counts: the first declaration wins.
> So what does 'the order in the declaration' mean ? if it is the pom
> declaration i ve got a probleme.
> *I ve got 3 projects :*
> *project-test-a*
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <project>
> <modelVersion>4.0.0</modelVersion>
> <groupId>test</groupId>
> <artifactId>project-test-a</artifactId>
> <version>0.0.1-SNAPSHOT</version>
> <description></description>
> <dependencies>
> <dependency>
> <groupId>log4j</groupId>
> <artifactId>log4j</artifactId>
> <version>1.2.8</version>
> </dependency>
> </dependencies>
> </project>
> {code}
> *project-test-b*
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <project>
> <modelVersion>4.0.0</modelVersion>
> <groupId>test</groupId>
> <artifactId>project-test-b</artifactId>
> <version>0.0.1-SNAPSHOT</version>
> <description></description>
> <dependencies>
> <dependency>
> <groupId>log4j</groupId>
> <artifactId>log4j</artifactId>
> <version>1.2.7</version>
> </dependency>
> </dependencies>
> </project>
> {code}
> project-test, (use project-test-a and project-test-b)
> {code}
> <dependencies>
> <dependency>
> <groupId>test</groupId>
> <artifactId>project-test-a</artifactId>
> <version>0.0.1-SNAPSHOT</version>
> </dependency>
> <dependency>
> <groupId>test</groupId>
> <artifactId>project-test-b</artifactId>
> <version>0.0.1-SNAPSHOT</version>
> </dependency>
> </dependencies>
> {code}
> So the "nearest definition" is not usefull here because they has got the same
> depth.
> So i use the 'the order in the declaration' and for me, the project
> 'project-test-a' is above the 'b'
> So the top project (project-test) must use the LOG4J:1.2.8 no ????
> {code}
> D:\CNT2\wk\wkTest\project-test>mvn dependency:tree
> [INFO] Scanning for projects...
> [INFO] Searching repository for plugin with prefix: 'dependency'.
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Building Unnamed - test:project-test:jar:0.0.1-SNAPSHOT
> [INFO] task-segment: [dependency:tree]
> [INFO]
> ------------------------------------------------------------------------
> [INFO] snapshot test:project-test-b:0.0.1-SNAPSHOT: checking for updates from
> inhouse_snapshots
> [INFO] snapshot test:project-test-a:0.0.1-SNAPSHOT: checking for updates from
> inhouse_snapshots
> [INFO] [dependency:tree]
> [INFO] test:project-test:jar:0.0.1-SNAPSHOT
> [INFO] +- test:project-test-b:jar:0.0.1-SNAPSHOT:compile
> [INFO] | \- log4j:log4j:jar:1.2.7:compile
> [INFO] \- test:project-test-a:jar:0.0.1-SNAPSHOT:compile
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESSFUL
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 6 seconds
> [INFO] Finished at: Tue Jul 28 15:23:22 CEST 2009
> [INFO] Final Memory: 8M/17M
> [INFO]
> ------------------------------------------------------------------------
> {code}
> Where is the problemes ???
> Thx
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira