maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig S. Cottingham (JIRA)" <>
Subject [jira] Created: (MNG-4584) Setting scope of transitive dependency can break version resolution
Date Thu, 11 Mar 2010 06:18:55 GMT
Setting scope of transitive dependency can break version resolution

                 Key: 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

[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:
For more information on JIRA, see:


View raw message