2014-10-03 2 views
0

1.) У меня есть Project1 с этим плющом зависимость:Nexus Ivy Maven: Второй уровень зависимости Игнорирует Переходная

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

Этот проект приносит serializer.jar (всего лишь эту баночку, OK)

!

2.) Во втором одном проекте (Proyect2) я поставил следующую зависимость:

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

Это "Проект 2" приносит:

  1. Проект 1
  2. Serializer.jar
  3. XML-apis.jar

    Несмотря положить Transite ложь в Xalan зависимости.

У меня не такое поведение в моей среде Eclipse, + IVEDe, просто только с Nexus и Maven .... Вроде бы неправильно, потому что на Проект1 я установить Xalan переходные ложь.

ответ

2

Попробуйте следующую зависимость в проекте 1 и посмотреть, если это исправляет проблему:

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

Смотрите следующий ответ о том, как Ivy интерпретирует модули Maven и области:

Я не поклонник отключения транзитивных зависимостей. Я думаю, что гораздо лучше полагаться на сопоставления конфигурации, и если это абсолютно необходимо, включите оператор exclude, чтобы удалить нежелательную зависимость.

+0

привет! Другой способ устранить проблему - исключить xml-apis. Для меня это сработало (исключая модуль = 'xml-apis'), но да, пересылка главной конфигурации для компиляции - это еще один вариант. Но я хочу сказать, что в том, как я определил зависимость transitive = «false», никакой третьей стороне библиотеки не должно быть дано ... В моей локальной среде (с IVYDe Pluggin для Eclipse) Ivy приносит мне JUST serializer.jar , но с Maven & Nexus приносит мне Serializer & Xml-apis .... Я не знаю, почему .. Логическое поведение локально! :-)! без транзитивности ... – Azimuts

Смежные вопросы