Comments 16
— Достаточно в корне проекта написать mvn clean install — и проект соберется!
Не совсем так, иногда приходится вручную подключать библиотеки.
Лично я вздохнул, когда первый раз использовал мавен после анта. Не знаю, возможно, у нас стандартные проекты без выкрутасов (сейчас посмотрел — 860 мег фолдер), но по мне ант и мавен отличаются как автомобиль Форд Т и мерседес АМГ.
IMHO.
Не совсем так, иногда приходится вручную подключать библиотеки.
Лично я вздохнул, когда первый раз использовал мавен после анта. Не знаю, возможно, у нас стандартные проекты без выкрутасов (сейчас посмотрел — 860 мег фолдер), но по мне ант и мавен отличаются как автомобиль Форд Т и мерседес АМГ.
IMHO.
+1
UFO just landed and posted this here
UFO just landed and posted this here
Если это мне, то это когда он не может найти нужную библиотеку в репозитории. Или проект не особо распространенный, либо своя библиотека, которая не в мавен-проекте.
0
UFO just landed and posted this here
Да. Так, конечно, красивее, но по факту команда mvn clean install не гарантирует сборку проекта, а добавление артифакта, который не может быть найден в репозитории, нужно проиводить вручную.
Фрд Т и мерседес — наверное, неправильное сравнение, скорее это ручная коробка и автоматическая.
Фрд Т и мерседес — наверное, неправильное сравнение, скорее это ручная коробка и автоматическая.
0
Да, конечно, эта команда не гарантирует успешную сборку — помимо отсутствия нужных артефактов в репозиториях возможны и другие причины, например, перед сборкой может быть необходимо прописать в settings.xml (файл конфигурации Мавена) имя и пароль для доступа к закрытым репозиториям. То, что я имел в виду — это что у Мавена команда, запускающая полную сборку стандартна, в отличие от того же Анта. Я встречал самые разные таргеты для полной сборки в Анте, от довольно традиционного «all», до перлов типа «full_release_build_new». Но, повторюсь, с моей точки зрения это удобство в Мавене достигается ценой сильного ограничения свободы.
0
UFO just landed and posted this here
Ну да, я про это и говорю — с ручной коробкой больше свободы, а с автоматом комфортнее.
С другой стороны можно рассматривать ограничения мавена как некий стандарт. Мавен же не возник сферическим в вакууме, на нем собирается куча проектов, плюс к тому он и сам возник как кастомизированный сборщик. Возможно, если сборка требует того, что мавен не может, это повод подумать, а действительно ли нам это нужно?
С другой стороны можно рассматривать ограничения мавена как некий стандарт. Мавен же не возник сферическим в вакууме, на нем собирается куча проектов, плюс к тому он и сам возник как кастомизированный сборщик. Возможно, если сборка требует того, что мавен не может, это повод подумать, а действительно ли нам это нужно?
0
Модели проекта длинны, плохо читаемы и трудно изменяемы. Муторный синтаксис на основе XML; наследование моделей, в результате чего зачастую приходится просматривать несколько моделей, чтобы определить, какая же конфигурация в конце концов будет использована при сборке.
Да, дублирующиеся в каждом проекте пошаговые инструкции без сомнения короче, читабельнее и проще в поддержке.
Процесс сборки зависит от внешних систем. Именно — от репозиториев. У меня был случай, когда у одного нового сотрудника возникли необъяснимые проблемы со сборкой проекта. В конце концов выяснилось, что у одного из репозиториев поменялся URL. Те, у кого Мавен уже успел скачать все что нужно, ничего не замечали; а вот новые сотрудники не могли собрать проект.
Хм, завязывать сборку продукта на внешний ресурс — это очень смелое решение. Наказание за него вполне закономерно. Чем тут Maven виноват?
+1
наследование моделей, в результате чего зачастую приходится просматривать несколько моделей, чтобы определить, какая же конфигурация в конце концов будет использована при сборке.
mvn help:effective-pom пробовали?
0
help:effective-pom, действительно, показывает полную эффективную конфигурацию. К сожалению, при этом остается неясным, откуда что в этой конфигурации взялось, а для меня это зачастую важно — у меня в проекте есть модули с 5 — 6 уровнями наследования. Периодически нужно что-то в сборке одного из модулей поменять, и тогда начинается выяснение, где именно этот параметр определен и можно ли его там безопасно менять…
0
How about MS Visual Studio? Чтоб через пару лет снова не менять шило на мыло :)
-2
Sign up to leave a comment.
Maven – размышления после двух лет использования