Что такое плющ? и как это связано с ant?

В проектах создания приложений я видел много плющ файлов. Что такое плющ, и его связь с ant?

Ответы

Ответ 1

Ivy является расширением Ant для управления внешними библиотеками в процессе разработки, предоставляя вам способ добавления их в путь к классам, связывая их с вашей сборкой приложений и т.д.

Там кое-что перекрывается с тем, что делает Maven, но Айви намного легче (и не делает столько).

Ответ 2

Ivy изначально представляет собой продукт Jayasoft.fr, который в то время находился под лицензией BSD, однако ядро ​​Ivy всегда было тем же: Это инструмент управления зависимостями.

Отношение Ivy к Ant состоит в том, что это расширение Ant в том смысле, что оно проходит через Ant, однако на самом деле оно не зависит от него (за пределами очевидных частей). Ivy была объединена с проектом Apache под Ant в качестве подпроекта посредством инкубационного процесса 11 октября 2007 года.

Очень распространенное заблуждение людей состоит в том, что они сравнивают Айви с Мейвеном в целом. Однако это не работает, так как Ivy управляет зависимостями гибко и очень хорошо работает с упрощенной конфигурацией и широкой автоматизированной поддержкой с различными системами сборки и т.д. Через Ant, в то время как Maven действительно является самой сборной системой. Личные мнения могут отличаться друг от друга тем, что делает то, что лучше всего, и это стоит нескольких попыток Stackoverflow/Google самостоятельно.

Ответ 3

Ivy является менеджером зависимостей - он управляет и контролирует файлы JAR, от которых зависит ваш проект. Если у вас нет JAR, он будет потянуть их вниз по умолчанию (из репозитория Maven 2), который может сделать проект настроить намного проще.

Ответ 4

Я считаю, что это важные и полезные моменты для добавления:

  • Ivy может использоваться автономно из командной строки без Ant. Если ваша среда CI не включает Ant, это не помешает вам использовать Ivy. Да, интеграция с Ant хороша и, безусловно, лучше документирована. Однако можно было использовать документацию по интеграции Ant для автономного использования.
  • Ivy предназначен не только для Java. Моя команда успешно использует его для определения зависимостей для довольно крупного проекта .NET(10 взаимозависимых пакетов с несколькими версиями каждого из них в производстве с несколькими зависимыми от сторонних сторон). Хорошо работает. Мне хотелось бы, чтобы документация была более четкой и полной.
  • Есть дополнительные привилегии, которые предлагает Ivy для запуска Build: запускать вверх и вниз по потоку.