Во-первых, как, я уверен, многие скажут, Ant и Maven не предназначены для решения одних и тех же целей. Поскольку вы сказали, что понимаете, что каждый из них предоставляет, я не буду вдаваться в подробности этого, поэтому достаточно сказать, что Ant позволяет вам определять детали создания отдельных компонентов, в то время как Maven управляет зависимостями между компонентами, а Maven позволяет вам определить полный цикл сборки проекта от компиляции до тестирования и развертывания программным способом.
В прошлом я использовал Maven для нескольких проектов и недавно начал использовать его для другого. В сети есть статьи , в которых сравниваются Ant и Maven, так что вы можете взглянуть на них, но из моего опыта всегда стоит подумать, как вы можете улучшить проект. Управление зависимостями и жизненный цикл сборки - два важных аспекта любого крупного проекта, и Maven помогает в обеих этих областях. Если у вас уже есть хорошая система сборки с использованием ant, и ваши зависимости находятся в легкодоступном центральном расположении, и вы не планируете расширять процесс сборки, чтобы включить более продвинутое управление сборкой, тогда, возможно, вам следует остаться с тем, что у вас есть.
С другой стороны, если вы хотите использовать сервер непрерывной интеграции, такой как Hudson, или репозиторий артефактов, такой как Nexus, то перенос вашего проекта в Maven может действительно помочь с эффективностью сборки и автоматизацией. Возможно, вы захотите использовать maven в таких ситуациях, поскольку полный цикл от зависимости до сборки и артефакта может быть достигнут с помощью этих типов инструментов, и вы сможете лучше контролировать свои сборки и выпуски. В моем текущем проекте у нас много модулей и зависимостей, как вы упомянули. Переход на maven, чтобы мы могли использовать hudson и nexus, действительно помог, потому что мы могли поместить все эти сторонние jar-файлы в хранилище nexus и перестать проверять их в системе контроля версий или пересылать по электронной почте. Кроме того, сборки были вне контроля, потому что люди CM имели план сборки в качестве документа, которому они иногда следовали, но включение этой части вашего проекта (например, pom.xml) определяет, как вы должны строить, и позволяет вам применять Это. Maven - это клей, который скрепляет все эти вещи.
В конце концов, вопрос состоит в том, как долго вы рассчитываете, что проект будет длиться долго, насколько хорош ваш процесс сейчас, хотите ли вы очистить свои зависимости, хотите ли вы обеспечить выполнение плана сборки и хотите ли вы иметь возможность использовать непрерывную интеграцию и управление артефактами. Если вам что-то из этого, Maven - сильный кандидат.