Короче говоря, скрипт муравья сообщает муравьям, что делать - «Скомпилируйте эти файлы, а затем скопируйте их в эту папку, затем возьмите содержимое этой папки и создайте архив».
В то время как специалист pom
заявляет , что мы хотели бы иметь в качестве результата - «вот имена библиотек проекта зависит от, и мы хотели бы, чтобы создать веб-архив». Maven знает, как получить библиотеки и найти исходные классы самостоятельно.
В то время как муравей дает вам большую гибкость, он также заставляет вас постоянно изобретать велосипед.
Maven с другой стороны требует меньше конфигурации, но может чувствовать себя слишком сдерживающим, особенно если вы привыкли к другому документообороту.
EDIT: Важный аспект сравнения муравьев-Maven является то, что специалист имеет конвенции, описывающие, где файлы должны лежать, где зависимости найти, куда поместить полученный артефакт, а муравей не ,
Таким образом, вы можете думать о том, чтобы использовать maven как поездку на автобусе - вы выбираете остановку, где вы входите, и ту, где вы уходите. Использование муравья похоже на вождение автомобиля - вы должны сделать это сами. Вам не нужно рассказывать водителю автобуса, что делать, но остановки могут быть слишком далеко от того места, куда вы хотите отправиться.
EDIT2: «Переосмысление колеса» метафора кажется менее ясным, чем я надеялся. Это то, что я имею в виду:
Без разумных стандартных/условных обозначений вы должны четко определить структуру проекта и жизненный цикл сборки для каждого проекта, что часто делает его вопросом вкуса и мнения. Поскольку предпочтения варьируются между командами и компаниями, так что создавайте процессы. Это требует большего количества когнитивных усилий для новых участников проекта и более поздних сопровождающих. В зависимости от опыта и опыта разработчиков, окончательное решение может быть трудно расширить и использовать.
Как я уже сказал в комментарии ниже, в то время как существуют лучшие практики для сборки муравьев, они все равно должны быть реализованы для каждого проекта или скопированы из проекта в проект вместо того, чтобы стать готовым по умолчанию самого инструмента построения.
Maven - это слишком далеко на другой стороне компромисса по моему вкусу. Изменение значений по умолчанию не так просто, как могло бы и должно быть.
Хотя я не работал над Ant, но что-то в этом роде должно быть уже решено правильно?Как somekind плагина в Ant, что то же самое в других проектах? –
@AnkitDhingra Я боюсь, что популярная практика с муравьем заключается в том, чтобы скопировать вставку настроек, которые работали в последний раз :) Есть лучшие практики, конечно, но вы все равно должны их реализовать. Пожалуйста, см. Править – kostja
@AnkitDhingra. На самом деле это не так, как изобретать колесо, вы правы, а перестраиваете его. – kostja