[
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