Некоторые модули с открытым исходным кодом включают дополнительные java doc jar. Чтобы удалить их, добавьте сопоставление конфигурации для каждой из ваших зависимостей:
<dependency org="junit" name="junit" rev="4.8.2" conf="default"/>
Конфигурация по умолчанию в ivy эквивалентна области действия compile в модуле maven. Вот как дополнительные библиотеки могут быть автоматически опущены. (Проверьте их POM).
Лучший подход - объявить ваши собственные конфигурации и сопоставление по умолчанию следующим образом:
<configurations defaultconfmapping="compile->default">
<conf name="compile" description="Required to compile code"/>
<conf name="test" description="Additional test dependencies" extends="compile" />
</configurations>
Тогда в вашем файле ivy вам нужно только объявить нестандартные конфигурации:
<dependencies>
<dependency org="org.hamcrest" name="hamcrest-library" rev="1.3.RC2" conf="test->default"/>
<dependency org="junit" name="junit" rev="4.8.2" conf="test->default"/>
<dependency org="org.mockito" name="mockito-core" rev="1.8.5" conf="test->default"/>
<dependency org="javax.persistence" name="persistence-api" rev="1.0"/>
</dependencies>
В этом случае мы хотим, чтобы только 3 библиотеки тестов отображались в конфигурации test .
Все еще в замешательстве? Волшебство конфигураций плюща заключается в том, что вы используете их для управления классовым путем вашей сборки
<target name='dependencies' description='Resolve project dependencies and set classpaths'>
<ivy:resolve/>
<ivy:cachepath pathid="compile.path" conf="compile"/>
<ivy:cachepath pathid="test.path" conf="test"/>
</target>
Это то, что делает Maven, когда вы объявляете тег scope для зависимости, например:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
Сферы в Maven исправлены. В плюще вы можете иметь столько, сколько вам нужно.