Setting scope of transitive dependency can break version resolution
-------------------------------------------------------------------
Key: MNG-4584
URL: http://jira.codehaus.org/browse/MNG-4584
Project: Maven 2 & 3
Issue Type: Bug
Components: Dependencies
Affects Versions: 2.2.1
Environment: Apache Maven 2.2.1 (r801777; 2009-08-06 14:16:01-0500)
Java version: 1.5.0_19
Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x" version: "10.4.11" arch: "ppc" Family: "unix"
Reporter: Craig S. Cottingham
I have an artifact A which has a dependency with default scope on
javax.mail:mail:1.4.1.
I have an artifact B which has a dependency with default scope on A, and a
dependency with runtime scope on log4j:log4j:1.2.15, which apparently has a
dependency on javax.mail:mail:1.4. The dependency on A is defined in the POM
before the dependency on log4j.
When I run dependency:list or dependency:tree on B, I see that
javax.mail:mail:1.4 is selected.
mvn -X compile on B shows (amidst all the other output):
...
[DEBUG] javax.j2ee:j2ee:jar:1.3.1:compile (selected for compile)
[DEBUG] javax.mail:mail:jar:1.4.1:compile (selected for compile)
[DEBUG] javax.activation:activation:jar:1.1:compile (selected for
compile)
...
So far, so good.
...
[DEBUG] javax.mail:mail:jar:1.4:compile (removed - nearer found:
1.4.1)
...
As expected. This shows up several times in the output, for various
dependencies not mentioned above.
...
[DEBUG] javax.mail:mail:jar:1.4.1:provided
...
This shows up several times as well.
...
[DEBUG] log4j:log4j:jar:1.2.15:runtime (selected for runtime)
[DEBUG] javax.mail:mail:jar:1.4:runtime (setting scope to: compile)
[DEBUG] javax.jms:jms:jar:1.1:runtime (selected for runtime)
...
And here we hit the problem. It looks like the selected version for
javax.mail:mail is being changed to 1.4 when the scope on that runtime
dependency is changed to compile.
The workaround for now is to add an explicit dependency on
javax.mail:mail:1.4.1 to B.
--
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