Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: 2.1
-
Fix Version/s: None
-
Component/s: tree
-
Labels:None
-
Environment:OSX 10.6.2, java 1.6.0_17
-
Number of attachments :
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:
[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
Please provide a test project. Also the dependency plugin reports on the resolution it doesn't do the resolution itself. It appears to me you are talking about a core issue and not one in the plugin but without a sample I can't be sure.