it-swarm.com.ru

Мавен или плющ? Какой из них лучше с системой уже в производстве? А другие отличия?

Я знаю, что это сложный вопрос, но я хотел бы знать, какой из них лучше в случае системы, которая уже работает, с множеством ошибок и действительно плохим дизайном. Действительно беспорядок.

На самом деле, я спрашиваю об этом, потому что я уже конвертирую этот проект в Maven, и у меня много проблем. Мне нужно было настроить структуру папок, отделить ужасную инфраструктуру, созданную в компании, от проекта (она была преобразована в jar-библиотеку), исправить множество деталей, которые все время ломали проект, настроить POM.xml, чтобы сделать все что Ant уже делал и обнаружил библиотеки, которые действительно используются в приложении в качестве их версий (большая часть библиотек была переименована без номера версии, а файл манифеста пуст).

Ну, это был действительно ад. Я сошел с ума во время этого задания, и вопрос, который следовал за мной все время, был: "А если бы я конвертировал его в Айви? Было бы проще?".

Я никогда не работал с Айви, но, как я знаю, он работает с Ant, и Maven легче адаптировать проект. С другой стороны, Maven гораздо больше используется во всем Слове (я не прав?), И на это должна быть причина!

Итак, это мои вопросы:

  • Интеграция с Дженкинс/Хадсон: С Айви это так же просто, как с Мейвен?
  • Sonar plugin: тот же вопрос, что и выше. Интеграция это просто?
  • Плагин для Eclipse: Это очень слабое место Maven. Плагин ужасен, но я не знаю плющевых.
  • Процесс развертывания: После того, как все настроено, разверните и опубликуйте проект с помощью maven, это очень просто. А с плющом?
  • Конверсия: Ну, мой опыт конвертации проекта в Maven был ужасен, но система не помогла. У меня была возможность, что Maven удивителен новым проектам, проектам, которые работают с Maven с момента его создания, но это не лучший выбор, если у вас большой и неорганизованный проект. Я ошибся?
  • плагины: это много плагинов для настройки в POM.xml. Есть ли так много вариантов для Айви?
  • Популярность: Что на более популярном? Какой из них больше используется и почему?

Ну, это так. Большое спасибо!

49
Pmt

Прежде всего, прочитайте сравнение Ivy/Maven с сайта Ivy. Ключевая информация:

Во-первых, самое важное отличие состоит в том, что они вовсе не являются одинаковыми инструментами. Apache Maven - это инструмент управления и понимания программных проектов, тогда как Apache Ivy - это всего лишь инструмент управления зависимостями, тесно интегрированный с Apache Ant ™, популярным инструментом управления сборкой. Так что, возможно, более интересное сравнение будет сравнивать Apache Ant + Ivy и Apache Maven. Но это выходит за рамки этой страницы, которая концентрируется только на управлении зависимостями.

Айви добавляет в Ant функциональность управления зависимостями, поэтому вопрос о том, какую систему сборки вы используете, таков:

  • использовать плющ/муравей
  • мигрировать в Maven

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

Если вы решите перейти на Maven, это потребует больше усилий, потому что вам нужно переписать ваши сценарии сборки и Mavenize все, а также настроить управление зависимостями.

Также будет проще перенести конфигурацию управления зависимостями с Ivy/Ant на Maven, если вы когда-нибудь решите пойти в этом направлении. Таким образом, управление зависимостями Ivy было бы хорошей отправной точкой в ​​долгосрочной перспективе для перехода к конфигурации Maven.

66
prunge