#java #ant #build #jar
#java #ant #сборка #jar
Вопрос:
Как я могу использовать Ant для загрузки и распаковки java jar, указав список jar только один раз? Ключевым моментом здесь является наличие одного списка jar-файлов и генерация:
- список URL-адресов для загрузки с помощью задачи get
- путь к классу / набор файлов тех же jar-файлов локально
Я бы действительно хотел указать список jar-файлов только один раз.
Комментарии:
1. Возможно, вы захотите изучить apache ivy , который выполняет подобные действия и многое другое.
2. Я бы хотел избежать добавления дополнительных частей и просто придерживаться простого Ant, если это возможно.
3. Ant в порядке, но Maven 3 — это бомба
Ответ №1:
<property name="dependency.lib.dir" location="dependencies" />
<mkdir dir="${dependency.lib.dir}" />
<get dest="${dependency.lib.dir}">
<url url="http://server1/lib1.jar"/>
<url url="http://server2/lib2.jar"/>
</get>
<fileset id="dependency.libs" dir="${dependency.lib.dir}">
<include name="*.jar" />
</fileset>
<path id="project.debug.classpath">
<fileset refid="dependency.libs" />
</path>
Вы можете добавить дополнительные подэлементы в <path>
, если у вас есть локальный каталог lib.
Комментарии:
1. Проблема с приведенным выше фрагментом заключается в том, что dependency.lib.dir может иметь зависимости, отличные от предыдущего запуска, которые больше не желательны.
2. @Luke, не стесняйтесь добавить шаг очистки, который удалит каталог заранее.
Ответ №2:
Насколько я могу судить, это невозможно с ant.