Paolo Compieta (JIRA)
Thu, 19 Nov 2009 07:43:19 -0800
dependency:resolve decides to take older (incompatible) version for transitive dep ----------------------------------------------------------------------------------
Key: MDEP-243
URL: http://jira.codehaus.org/browse/MDEP-243
Project: Maven 2.x Dependency Plugin
Issue Type: Bug
Components: resolve, tree
Affects Versions: 2.1, 2.0
Environment: WinXp
Maven 2.0.9/2.2.1
Reporter: Paolo Compieta
Assignee: Brian Fox
Attachments: m2WrongTransitiveDepResolve.zip
I'll use modules Parent,ModuleA,ModuleB,ModuleEAR and dependency Commons-Net to
explain the case.
Parent specifies commons-net/1.3.0 in dependencyManagement
\- ModuleB declares commons-net/1.4.1 as dependency (overrides version), and
resolves correctly 1.4.1
\- ModuleA declares ModuleB as dependency (obtaining transitive dep to
commons-net), and resolves *erroneously* 1.3.0
\- ModuleC (ear) takes in 1.3.0 whilst no module is actually using or declaring
it
I'd expect this case to resolve 1.4.1 or at least to fail the build, because in
this example B is the only one using commons-net (maybe exploiting 1.4.1-only
features), while the final build resolves 1.3.0 (see ModuleA or ModuleC).
I'm not 100% which is the best policy, but i've got problems (wrong jars,
different behaviours and runtime errors) with this kind silent down-resolution
of version.
Regards,
Paolo
--
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