I still don't understand the useage of dependencyManagement :
* A declare a dependency on log4j [1.2.0,1.3.0) and a
dependencyManagement to force on version 1.2.4
mvn dependency:resolve show that log4j 1.2.14 is resolved.
* B declare a dependency on A and a dependencyManagement to force on
version 1.2.4
mvn dependency:resolve show that log4j 1.2.4
So dependencyManagement surcharge the dependencies declared in the
transitive dependencies but not the direct dependencies. Is it right ?
So, I'd like to know when this type of conflict occurs:
mvn dependency:analyze-dep-mgt -DfailBuild=true -DignoreDirect=false -X
[DEBUG] (s) failBuild = false
[DEBUG] (s) ignoreDirect = true
[DEBUG] (s) project = MavenProject: test:A:1.0-SNAPSHOT @
/home/decherfb/tmp/depMgmt/A/pom.xml
[DEBUG] -- end configuration --
[INFO] [dependency:analyze-dep-mgt]
[INFO] Found Resolved Dependency / DependencyManagement mismatches:
[INFO] Ignoring Direct Dependencies.
[INFO] Dependency: log4j:log4j:jar
[INFO] DepMgt : 1.2.4
[INFO] Resolved: 1.2.14
[INFO] None
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
Why doesn't it fail ? What is the correct way to use this plugin ? I
want to include this check to the release:prepare configuration.
Benoit
Brian E. Fox wrote:
Yes. I think it was mng-1577 that made this intentional change. The
dependencyManagement overrides the transitive versions.
Dependency:analyze-dep-mgt can help you detect these conflicts later.
-----Original Message-----
From: Benoit Decherf [mailto:[EMAIL PROTECTED]
Sent: Tuesday, February 12, 2008 11:21 AM
To: Maven Users List
Subject: dependencyManagement and conflicts
Hi,
I have 3 projects with their dependencies:
* A
|- B[1.0]
|- C [1.1]
* B
|- C [1.0]
* C
So here there is a conflict in A for C, and this is what I'm expected:
[INFO] Failed to resolve artifact.
The artifact has no valid ranges
test:C:jar:1.0
Path to dependency:
1) test:A:jar:1.0
2) test:B:jar:1.0
But now, if I define in A a dependencyManagement, I can force the verson
of C and I don't have any warning about the conflict. Is this normal?
Benoit
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]