0

1.) I have a Project1 with this ivy dependency :

<dependency org="xalan" name="serializer" rev="2.7.1" transitive="false" conf="compile->default" />

This project brings serializer.jar (just only this jar, OK! )

2.) In a second one Project (Proyect2) i put the next dependency :

<dependency org="com.net" name="Project1" rev="latest.integration" conf="default->default;compile->compile;runtime->runtime" transitive="true">
</dependency>

This "Project 2" brings :

  1. Project 1
  2. Serializer.jar
  3. xml-apis.jar

    Despite of putting transite to false in xalan dependency.

I haven't this behaviour in my Eclipse + IVEDe environment, just only with Nexus and Maven.... It seems to be wrong because on Project1 i set xalan transitive to false.

Azimuts
  • 1,212
  • 4
  • 16
  • 35

1 Answers1

2

Try the following dependency in Project 1 and see if that fixes the problem:

<dependency org="xalan" name="serializer" rev="2.7.1" conf="compile->master" />

See the following answer on how Ivy interprets Maven modules and scopes:

I'm not a fan of switching off transitive dependencies. I think it's much better to rely on configuration mappings and if absolutely necessary include an exclude statement to remove an objectionable dependency.

Community
  • 1
  • 1
Mark O'Connor
  • 76,015
  • 10
  • 139
  • 185
  • hi! Another way to fix the problem is to exclude xml-apis . For me it worked this way ( exclude module='xml-apis') , but yes sending master configuration to compile is another option. But, what i want to mean is that in the way i defined the dependency transitive="false" no third party library should be given....On my local environment (with IVYDe Pluggin for Eclipse) Ivy brings me JUST serializer.jar , but with Maven & Nexus brings me Serializer & Xml-apis .... I don't know why.. The logic behaviour is local's !:-)! with no transitiveness... – Azimuts Oct 06 '14 at 07:17