Hi all,

I have a problem about ivy maven dependency resolving.

I add a dependency(let's name it as A) to ivy.xml which has a pom file in
maven central. Ivy uses ibiblio for resolving the maven dependencies. The
dependency(A) which is added to ivy.xml has a transitive dependency(B). So
far so good till here. The dependency(C) of transitive dependency(B) can
not be resolved by ivy.

I defined A in ivy.xml like this:

<dependency org="Z" name="A" rev="0.6-SNAPSHOT" conf="*->default"/>

In pom file of B, C is defined both in compile and test scopes like below:

<dependency> <groupId>X</groupId> <artifactId>C</artifactId> </dependency>
<dependency> <groupId>X</groupId> <artifactId>C</artifactId>
<type>test-jar</type> <scope>test</scope> </dependency>

When I look the xml file of B which is resolved by ivy in ivy's cache
file(~/.ivy2/cache/X/C/ivy-0.98.8-hadoop2.xml), it looks like this:

<dependency org="X" name="C" rev="0.98.8-hadoop2" force="true"
conf="test->runtime(*),master(*)"/> <dependency org="X" name="C"
rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
<artifact name="C" type="test-jar" ext="jar" conf="" m:classifier="tests"/>
</dependency>

For this reason, ivy can not define C scopes correctly. For the record, I
don't have permissions to modify the pom files as they are third party
projects.

If you help me I will appreciate.

Talat

Reply via email to