Pull to refresh

Comments 16

— Достаточно в корне проекта написать mvn clean install — и проект соберется!
Не совсем так, иногда приходится вручную подключать библиотеки.

Лично я вздохнул, когда первый раз использовал мавен после анта. Не знаю, возможно, у нас стандартные проекты без выкрутасов (сейчас посмотрел — 860 мег фолдер), но по мне ант и мавен отличаются как автомобиль Форд Т и мерседес АМГ.

IMHO.
Соглашусь с вами. Сейчас даже не понимаю как я без него раньше обходился.
С maven'ом я практически не уделяю времени на сборку, он все делает сам.
UFO just landed and posted this here
UFO just landed and posted this here
Если это мне, то это когда он не может найти нужную библиотеку в репозитории. Или проект не особо распространенный, либо своя библиотека, которая не в мавен-проекте.
UFO just landed and posted this here
Да. Так, конечно, красивее, но по факту команда mvn clean install не гарантирует сборку проекта, а добавление артифакта, который не может быть найден в репозитории, нужно проиводить вручную.

Фрд Т и мерседес — наверное, неправильное сравнение, скорее это ручная коробка и автоматическая.
Да, конечно, эта команда не гарантирует успешную сборку — помимо отсутствия нужных артефактов в репозиториях возможны и другие причины, например, перед сборкой может быть необходимо прописать в settings.xml (файл конфигурации Мавена) имя и пароль для доступа к закрытым репозиториям. То, что я имел в виду — это что у Мавена команда, запускающая полную сборку стандартна, в отличие от того же Анта. Я встречал самые разные таргеты для полной сборки в Анте, от довольно традиционного «all», до перлов типа «full_release_build_new». Но, повторюсь, с моей точки зрения это удобство в Мавене достигается ценой сильного ограничения свободы.
UFO just landed and posted this here
Ну да, я про это и говорю — с ручной коробкой больше свободы, а с автоматом комфортнее.

С другой стороны можно рассматривать ограничения мавена как некий стандарт. Мавен же не возник сферическим в вакууме, на нем собирается куча проектов, плюс к тому он и сам возник как кастомизированный сборщик. Возможно, если сборка требует того, что мавен не может, это повод подумать, а действительно ли нам это нужно?
«Все, мариванна, ухожу, ухожу, ухожу!»(С)
Модели проекта длинны, плохо читаемы и трудно изменяемы. Муторный синтаксис на основе XML; наследование моделей, в результате чего зачастую приходится просматривать несколько моделей, чтобы определить, какая же конфигурация в конце концов будет использована при сборке.

Да, дублирующиеся в каждом проекте пошаговые инструкции без сомнения короче, читабельнее и проще в поддержке.

Процесс сборки зависит от внешних систем. Именно — от репозиториев. У меня был случай, когда у одного нового сотрудника возникли необъяснимые проблемы со сборкой проекта. В конце концов выяснилось, что у одного из репозиториев поменялся URL. Те, у кого Мавен уже успел скачать все что нужно, ничего не замечали; а вот новые сотрудники не могли собрать проект.

Хм, завязывать сборку продукта на внешний ресурс — это очень смелое решение. Наказание за него вполне закономерно. Чем тут Maven виноват?
наследование моделей, в результате чего зачастую приходится просматривать несколько моделей, чтобы определить, какая же конфигурация в конце концов будет использована при сборке.

mvn help:effective-pom пробовали?
help:effective-pom, действительно, показывает полную эффективную конфигурацию. К сожалению, при этом остается неясным, откуда что в этой конфигурации взялось, а для меня это зачастую важно — у меня в проекте есть модули с 5 — 6 уровнями наследования. Периодически нужно что-то в сборке одного из модулей поменять, и тогда начинается выяснение, где именно этот параметр определен и можно ли его там безопасно менять…
How about MS Visual Studio? Чтоб через пару лет снова не менять шило на мыло :)
Это был сарказм?:)

А вообще я после мавена не представляю себе жизнь на анте… Все что надо делается на мавене без труда и всегда есть возможность «подпилить», если необходимо.
Sign up to leave a comment.

Articles