Как включить ant-contrib.jar динамически в Ant
Я ищу способ включить .jar из файла Ant, чтобы сразу использовать его и вызывать его методы в моих целях. В моем случае это ant-contrib-1.0b3.jar
.
- Включение внешних jar-файлов в новую сборку jar-файлов с Ant
- Можно ли использовать динамическое выражение xPath в таблице стилей xslt?
- Ant, загрузка набора файлов с удаленной машины
- Javac: обрабатывать предупреждения как ошибки
- Получение Ant для распознавания classpath
- Класс javac1.8 не найден
- Почему Ant дает мне неподдерживаемую ошибку версии major.minor
- Хотите, чтобы проект eclipse java автоматически запускал файлы сборки Ant
Лучшим способом является создание jarfile Ant-Contrib внутри вас проекта. Например, предположим, что build.xml
находится в корне вашего проекта. Создайте в вашем проекте каталог ant.lib\ant-contrib
, затем поместите файл ant-contrib*.jar
в эту папку. Вы можете использовать этот метод для других необязательных задач Ant, которые вам могут понадобиться (например, Ivy, Findbugs, Cobrrtura и т. Д.).
Затем в файле build.xml
вы можете сделать следующее:
к
к
Мне нравится делать это так, потому что в проект включены дополнительные банки с задачами. Если вы проверите все в своей системе управления версиями, кто-то может проверить ваш код и выполнить сборку без загрузки Ant-Contrib и установки ее самостоятельно.
Вы можете определить пространства имен XML. Это дает вашим задачам Ant-Contrib префикс, чтобы избежать конфликтов имен задач, если вы используете другие необязательные задачи ant, которые имеют одно и то же имя задачи. Кроме того, он предупреждает пользователей о том, что это не стандартная задача Ant.
Если вы используете пространство имен XML, вам нужно поместить объявление XMLNS в заголовок
. Это будет содержать URI , который свяжет ваши задачи Ant Contrib с вашим пространством имен XML. Например, пространство имен ac:
для всех задач Ant Contrib:
к
к
Это означает соответствие пространства имен XML (xmlns) ac
с URI http://ant-contrib.sourceforge.net
. URI может быть чем угодно. Например:
к
к
Стандарт должен использовать что-то вроде antlib:net.sf.antcontrib
:
к
к
Однако мне нравится использовать URL-адрес проекта. Таким образом, если кому-то нужна документация по задачам Ant-Contrib, они знают URL-адрес, в котором живет проект Ant-Contrib.
Во всех трех случаях выше я определил пространство имен XML с ac
. Таким образом, вы должны префикс всех имен задач Ant-Contrib с помощью ac:
Вы можете использовать antcontrib
или что угодно. В пространстве имен ac:
ваши задачи Ant-contrib будут выглядеть так:
[...] [...]
Если вы пропустите всю тему пространства имен, вы можете просто использовать задачи Ant-Contrib, как описано:
[...] [...]
Лучшим решением является интеграция менеджера зависимостей apache ivy. Ivy можно использовать для управления всеми вашими путями classов classов Maven!
пример
ivy.xml
Этот файл описывает зависимости вашего проекта от сторонних сторон. Ivy использует конфигурации для логической группировки файлов. В вашем случае обратите внимание, что специальная конфигурация «сборки» используется для настройки задач ANT, необходимых для сборки:
Заметка:
- Зависимости извлекаются по умолчанию из Maven Central , где теперь размещается около 90% банок с открытым исходным кодом
build.xml
Letter @{letter}
Заметки:
- Существует специальная цель «бутстрапа», используемая для запуска новой установки. К сожалению, плющ не распространяется с сердечником ANT
- Задача кэширования ivy используется для создания ANT-путей, содержащих загружаемые и кэшированные банки плюсом .
- Задача отчета плюща очень полезна для понимания транзитивных зависимостей ваших сторонних библиотек.
- antcontrib теперь распространяется как ANT lib, объясняя странное пространство имен.