Что такое плющ? и как это связано с 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: запускать вверх и вниз по потоку.