[ https://jira.codehaus.org/browse/MDEP-251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Herve Boutemy updated MDEP-251: ------------------------------- Description: I just introduced some qualifier for some libs that require to be compiled in java5. I've been very confused when realizing that when packaging a webapp depending on those qualified artifacts, the non qualified versions are included instead. It seems to come from dependency plugin. Here is what happens: When I do a dependency:tree on an artifact that depends directly on qualified libs, I get something regular: {noformat}[INFO] [dependency:tree {execution: default-cli}] [INFO] org.company.project:stageof:jar:1.4-SNAPSHOT [INFO] +- org.company.project:jar:jdk1.5:1.5-SNAPSHOT:compile .... [INFO] +- org.company.commons:commons-xml:jar:jdk1.5:1.4-SNAPSHOT:compile{noformat} The stageof lib depends on the jdk1.5 qualified commons and commons-xml libs. When I do a dependency:tree on an upper level webapp that depends on this stageof lib: {noformat}[INFO] org.company.project:webapp:war:1.13-SNAPSHOT [INFO] +- org.company.project:stageof:jar:jdk1.5:1.4-SNAPSHOT:compile [INFO] | +- org.company.commons:jar:1.4.0:compile [INFO] | \- org.company.commons:commons-xml:jar:1.4-SNAPSHOT:compile [INFO] +- org.company.commons:jar:jdk1.5:1.5-SNAPSHOT:compile ...{noformat} it finds correctly the qualified version of stageof, but include non qualified commons and commons-xml. These unqualified versions are the dependencies of the also non qualified stageof-1.4-SNAPSHOT. >From this behavior, I presume dependency plugin makes a mistake in looking >from the wrong pom, probably not using the qualifier of the included >dependency: {code:xml} <dependency> <groupId>org.company.project</groupId> <artifactId>stageof</artifactId> <version>1.4-SNAPSHOT</version> <scope>compile</scope> <classifier>jdk1.5</classifier> </dependency>{code} Hope this is clear. I could provide an example if you can't reproduce easily. Actually, just adding a qualifier to the jar-plugin to produce the artifact and to the <dependency> section should do the job. rgds, jean was: I just introduced some qualifier for some libs that require to be compiled in java5. I've been very confused when realizing that when packaging a webapp depending on those qualified artifacts, the non qualified versions are included instead. It seems to come from dependency plugin. Here is what happens: When I do a dependency:tree on an artifact that depends directly on qualified libs, I get something regular: [INFO] [dependency:tree {execution: default-cli}] [INFO] org.company.project:stageof:jar:1.4-SNAPSHOT [INFO] +- org.company.project:jar:jdk1.5:1.5-SNAPSHOT:compile .... [INFO] +- org.company.commons:commons-xml:jar:jdk1.5:1.4-SNAPSHOT:compile The stageof lib depends on the jdk1.5 qualified commons and commons-xml libs. When I do a dependency:tree on an upper level webapp that depends on this stageof lib: [INFO] org.company.project:webapp:war:1.13-SNAPSHOT [INFO] +- org.company.project:stageof:jar:jdk1.5:1.4-SNAPSHOT:compile [INFO] | +- org.company.commons:jar:1.4.0:compile [INFO] | \- org.company.commons:commons-xml:jar:1.4-SNAPSHOT:compile [INFO] +- org.company.commons:jar:jdk1.5:1.5-SNAPSHOT:compile ... it finds correctly the qualified version of stageof, but include non qualified commons and commons-xml. These unqualified versions are the dependencies of the also non qualified stageof-1.4-SNAPSHOT. >From this behavior, I presume dependency plugin makes a mistake in looking >from the wrong pom, probably not using the qualifier of the included >dependency: <dependency> <groupId>org.company.project</groupId> <artifactId>stageof</artifactId> <version>1.4-SNAPSHOT</version> <scope>compile</scope> <classifier>jdk1.5</classifier> </dependency> Hope this is clear. I could provide an example if you can't reproduce easily. Actually, just adding a qualifier to the jar-plugin to produce the artifact and to the <dependency> section should do the job. rgds, jean > Artifacts qualifier are NOT taken into accounts correctly > --------------------------------------------------------- > > Key: MDEP-251 > URL: https://jira.codehaus.org/browse/MDEP-251 > Project: Maven 2.x Dependency Plugin > Issue Type: Bug > Components: tree > Affects Versions: 2.1 > Environment: OSX 10.6.2, java 1.6.0_17 > Reporter: Jean Seurin > Assignee: Brian Fox > Priority: Critical > Attachments: test.maven-dependency-plugin.zip > > > I just introduced some qualifier for some libs that require to be compiled in > java5. > I've been very confused when realizing that when packaging a webapp depending > on those qualified artifacts, the non qualified versions are included instead. > It seems to come from dependency plugin. > Here is what happens: > When I do a dependency:tree on an artifact that depends directly on qualified > libs, I get something regular: > {noformat}[INFO] [dependency:tree {execution: default-cli}] > [INFO] org.company.project:stageof:jar:1.4-SNAPSHOT > [INFO] +- org.company.project:jar:jdk1.5:1.5-SNAPSHOT:compile > .... > [INFO] +- > org.company.commons:commons-xml:jar:jdk1.5:1.4-SNAPSHOT:compile{noformat} > The stageof lib depends on the jdk1.5 qualified commons and commons-xml libs. > When I do a dependency:tree on an upper level webapp that depends on this > stageof lib: > {noformat}[INFO] org.company.project:webapp:war:1.13-SNAPSHOT > [INFO] +- org.company.project:stageof:jar:jdk1.5:1.4-SNAPSHOT:compile > [INFO] | +- org.company.commons:jar:1.4.0:compile > [INFO] | \- org.company.commons:commons-xml:jar:1.4-SNAPSHOT:compile > [INFO] +- org.company.commons:jar:jdk1.5:1.5-SNAPSHOT:compile > ...{noformat} > it finds correctly the qualified version of stageof, but include non > qualified commons and commons-xml. > These unqualified versions are the dependencies of the also non qualified > stageof-1.4-SNAPSHOT. > From this behavior, I presume dependency plugin makes a mistake in looking > from the wrong pom, probably not using the qualifier of the included > dependency: > {code:xml} <dependency> > <groupId>org.company.project</groupId> > <artifactId>stageof</artifactId> > <version>1.4-SNAPSHOT</version> > <scope>compile</scope> > <classifier>jdk1.5</classifier> > </dependency>{code} > Hope this is clear. > I could provide an example if you can't reproduce easily. > Actually, just adding a qualifier to the jar-plugin to produce the artifact > and to the <dependency> section should do the job. > rgds, > jean -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira