Как включить ant-contrib.jar динамически в Ant

Я ищу способ включить .jar из файла Ant, чтобы сразу использовать его и вызывать его методы в моих целях. В моем случае это ant-contrib-1.0b3.jar .

Лучшим способом является создание 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, объясняя странное пространство имен.
  • Каков наилучший способ развертывания приложения JavaFX, создания JAR и автономных приложений и собственных установщиков
  • Ошибка при установке Ant: ANT_HOME установлен неправильно
  • Чистый способ объединить несколько банок? Предпочтительно использовать Ant
  • Использовать Ant для запуска программы с аргументами командной строки
  • Неожиданно не удается запустить тесты TestNG из ant ( Caused by: java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException)
  • Пользовательский отчет JUnit?
  • Каков наилучший способ избежать maven-jar?
  • ОШИБКА: неиспользуемая строка с титром или рядом
  • Как использовать шаблоны имен Nant / Ant?
  • Ant использует неправильную версию java
  • Как правильно установить ant 1.8 на Ubuntu 11.04
  • Interesting Posts

    В чем разница между #include и #include “filename”?

    Ошибка: Ошибка выполнения для задачи «: app: dexDebug» в моем проекте, в то время как я добавил новую зависимость

    preincrement / postincrement в java

    Как переименовать папку проекта из Visual Studio?

    Удаление страницы fragmentа из ViewPager в Android

    Использование XSL-FO, CSS3 вместо CSS2 для создания разбитых на страницы документов, таких как PDF?

    Новый ssd, сохранить win 10 лицензию?

    Codeigniter – множественные подключения к базе данных

    Wifi медленнее, чем подключение Ethernet-кабеля?

    Как составить график данных банковского счета в Excel с таблицей изменений баланса?

    Ubuntu / Gnome: открыть приложение в определенной рабочей области

    Как объединить список списков с одинаковыми типами элементов в один список элементов?

    Как правильно освобождать записи, которые содержат разные типы в Delphi сразу?

    EF 4.1 – Code First – Ошибка серийной ссылки JSON

    Как изменить Windows 7 для нормальной загрузки, а не в безопасном режиме?

    Давайте будем гением компьютера.