Я бы посоветовал не использовать атрибут "переходный" в объявлении зависимости и вместо этого попытаться решить вашу проблему с помощью конфигураций.
Конфигурации в ivy функционально такие же, как в Maven, но гораздо более гибкие.
Я обычно объявляю по крайней мере следующие 3 конфигурации в моем коде
<configurations>
<conf name="compile" description="Compile time dependencies"/>
<conf name="runtime" description="Compile time dependencies" extends="compile"/>
<conf name="test" description="Compile time dependencies" extends="runtime"/>
</configurations>
Соответствует трем группам зависимостей, которые понадобятся мне для любого Java-проекта.
Секрет в том, как вы отображаете ваши зависимости в ваши конфигурации. Если вам нужен только jar без его зависимостей, объявите его следующим образом:
<dependency org="org.springframework" name="org.springframework.core" rev="3.0.5.RELEASE" conf="compile->master"/>
Локальная скомпилированная конфигурация, сопоставленная с областью master удаленного модуля Maven. Область действия master в Maven исключает любые переходные зависимости.
Если вы хотите, чтобы артефакт включал его транзитивные зависимости, объявите отображение конфигурации следующим образом:
<dependency org="org.springframework" name="org.springframework.core" rev="3.0.5.RELEASE" conf="compile->default"/>
Рабочий файл ivy.xml
Это скачает одну банку.
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="red5" module="server" />
<configurations>
<conf name="default"/>
<conf name="java6" extends="default" description="Java 6 dependencies"/>
<conf name="utest" extends="eclipse" description="Unit testing dependencies"/>
<conf name="eclipse" description="Special dependencies in Eclipse"/>
</configurations>
<dependencies>
<dependency org="org.springframework" name="org.springframework.core" rev="3.0.5.RELEASE" conf="default->master"/>
</dependencies>
</ivy-module>
Пересмотренный файл настроек
Я бы также рекомендовал использовать распознаватель ibiblio , который предназначен для понимания форматов репозитория Maven 1 и Maven 2:
<ivysettings>
<settings defaultResolver="local"/>
<resolvers>
<chain name="local">
<ibiblio name='springsource-releases' m2compatible='true' root='http://repository.springsource.com/maven/bundles/release'/>
..
..
</chain>
</resolvers>
</ivysettings>
Примечание. Я использую репозиторий Springsource Maven, который, скорее всего, будет обновлен. Я не знаю, правильно ли они поддерживают старые репозитории плюща.