maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Baptiste MATHUS (JIRA)" <j...@codehaus.org>
Subject [jira] Commented: (MNG-4600) Dependency not retrieved with maven 3 although it was with maven 2
Date Fri, 19 Mar 2010 18:35:22 GMT

    [ http://jira.codehaus.org/browse/MNG-4600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=214535#action_214535
] 

Baptiste MATHUS commented on MNG-4600:
--------------------------------------

An addon, to show the difference with mvn dependency:tree:

With maven3:
Nothing

With Maven 2.2.1:
[INFO] m3pb:sub2:jar:1.0-SNAPSHOT
[INFO] \- m3pb:subproject1:jar:1.0-SNAPSHOT:compile
[INFO]    \- ch.qos.logback:logback-classic:jar:0.9.14:runtime (scope managed from compile)
[INFO]       \- ch.qos.logback:logback-core:jar:0.9.14:runtime

Cheers

> Dependency not retrieved with maven 3 although it was with maven 2
> ------------------------------------------------------------------
>
>                 Key: MNG-4600
>                 URL: http://jira.codehaus.org/browse/MNG-4600
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.0-alpha-7
>         Environment: Apache Maven 3.0-alpha-7 (r921173; 2010-03-09 23:31:07+0100)
> Java version: 1.5.0_17
> Java home: c:\projet\MM\outils\jdk\1.5.0\jre
> Default locale: fr_FR, platform encoding: Cp1252
> OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
>            Reporter: Baptiste MATHUS
>             Fix For: 3.0-alpha-8
>
>         Attachments: bug-maven.zip
>
>
> The situation is quite complex to explain. I've a parent pom that defines dependencies
in depMgmt. There's two projects in the multimodule project, the second depending on the first.
> Excerpt (parent/depMgmt):
> <dependency>
>   <groupId>ch.qos.logback</groupId>
>   <artifactId>logback-classic</artifactId>
>   <version>${logback.version}</version>
>   <scope>runtime</scope>
> <optional>true</optional>
> First child (redefines scope only):
> <dependency>
>  <groupId>ch.qos.logback</groupId>
>  <artifactId>logback-classic</artifactId>
>  <scope>compile</scope>
> </dependency>
> Second child:
> <dependency>
>  <groupId>org.slf4j</groupId>
>  <artifactId>slf4j-api</artifactId>
> </dependency>
> <dependency>
>  <groupId>m3pb</groupId>
>  <artifactId>subproject1</artifactId>
>  <version>${project.version}</version>
> </dependency>
> When running with maven 2, it works. When ran with maven 3, it fails on the second project,
with a NoClassDefFoundError on the logback jar.
> I seem to understand this is actually a bug in maven 2: as the depMgmt defines optional=true,
it shouldn't have been working in maven2 without redeclaring the dependency in the second
project. 
> From my understanding:
> * With maven 2, the transivity is taken in account and gives logback through the subproject1
link (from the second)
> * With maven 3, this just doesn't work and this is the correct behaviour.
> Please excuse my basic analysis. 
> I'm attaching a test project to let see more precisely the problem.
> If you need any help, please let me know.
> Cheers
> -- 
> Baptiste

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

       

Mime
View raw message