Я пытаюсь использовать Ivy для управления зависимостями в существующем проекте Ant (впервые).Это не загрузка некоторых зависимостей времени выполнения.
Я пробовал различные конфигурации - хотя я не уверен, что они означают по сравнению с Maven.(Я смотрел на https://www.symphonious.net/2010/01/25/using-ivy-for-dependency-management/ на основе рекомендаций в другом SO, но это не помогло.)
Следующий тестовый скрипт Ant иллюстрирует проблему, загружая одинаковую зависимость как с Ivy, так и с Maven.:
<project name="ivy-test" default="copy-deps" basedir="."
xmlns:artifact="antlib:org.apache.maven.artifact.ant"
xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="ivy.lib.dir" value="ivy-lib" />
<property name="mvn.lib.dir" value="mvn-lib" />
<target name="clean">
<delete dir="${ivy.lib.dir}" />
<delete dir="${mvn.lib.dir}" />
</target>
<target name="copy-deps" depends="ivy-copy, mvn-copy" />
<taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpath="ivy-2.4.0.jar"/>
<target name="ivy-copy">
<mkdir dir="${ivy.lib.dir}" />
<ivy:resolve type="jar" conf="default->*">
<dependency org="net.sf.okapi.filters" name="okapi-filter-openxml" rev="0.36" />
</ivy:resolve>
<ivy:retrieve type="jar" />
</target>
<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant"
classpath="maven-ant-tasks-2.1.3.jar" />
<target name="mvn-copy">
<mkdir dir="${mvn.lib.dir}" />
<artifact:dependencies filesetid="mvn.fileset">
<dependency groupid="net.sf.okapi.filters" artifactId="okapi-filter-openxml" version="0.36" scope="runtime" />
</artifact:dependencies>
<copy todir="${mvn.lib.dir}">
<fileset refid="mvn.fileset" />
<mapper type="flatten" />
</copy>
</target>
</project>
Если сравнить содержимое каталогов Ivy и Maven, в Ivy отсутствуют три JAR-файла.
$ ls mvn-lib | while read i; do [ ! -f ivy-lib/$i ] && echo $i; done
common-lang-3.3.2.jar
snakeyaml-1.21.jar
stax2-api-3.1.4.jar
Любая помощь будет принята с благодарностью.