Каковы преимущества / недостатки использования Maven? [закрыто]

14
задан 5 revs, 2 users 100% 20 August 2010 в 10:23
поделиться

5 ответов

Я начал с maven и остаюсь с ним. Когда я создаю проект с помощью maven, у меня никогда не возникает проблем с отсутствующими библиотеками, неправильными версиями библиотек ... Он компилируется, он запускается.

Обновить библиотеки просто (в отличие от Ant).

Maven предоставляет множество полезных плагинов. Я использую maven для тестирования функциональности на Hudson - он загружает новейшую версию моего проекта, запускает встроенную базу данных, вводит набор данных dbunit, развертывает приложение на причале, запускает тест, отображает результаты тестирования.

Мне не нравится, когда все в одном файле. Тогда я хотел бы указать конфигурацию не только с помощью XML.

1
ответ дан 1 December 2019 в 10:17
поделиться

Я использовал maven в каждом проекте, с которым сталкивался за последние 4 года или около того, от частных мини-проектов до огромных корпоративных проектов с множеством модулей, и я ни разу не пожалел об использовании maven.

Я построил все, от стандартных проектов java JAR / WAR / EAR до приложений flex / AIR и RPM Linux с использованием maven, делегируя Antrun или GMaven , когда не было подключаемого модуля maven. доступны для данной ситуации.

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

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

11
ответ дан 1 December 2019 в 10:17
поделиться

Огромным преимуществом использования Maven является его инфраструктура репозитория. Это продвигает стандартные протоколы для совместного использования сторонних библиотек и позволяет командам более эффективно сотрудничать без необходимости проверять все в одном репозитории исходного кода (модульные сборки).

Менеджеры репозиториев находятся в свободном доступе, и я бы рекомендовал установить одно из следующих:

  • Nexus
  • Artifactory
  • Archiva

Хорошая новость в том, что вам не нужно создавать свой код с помощью Maven. чтобы максимально использовать преимущества инфраструктуры Maven.

Я рекомендую Maven для «зеленых» проектов, не требующих защиты. Как правило, начало проекта - лучшее время для внедрения новой технологии, а преимущества использования Maven хорошо документированы. Основное внимание уделяется стандартизированному процессу сборки и множеству сторонних плагинов.

ANT-проекты могут быть переработаны для взаимодействия с командами, использующими Maven.Плагин ivy , применяемый должным образом, может фактически упростить процесс сборки ANT. Айви может управлять путем к классам проекта, загружая зависимости из репозитория Maven и после этого публикуя артефакты сборки (точно так же, как Maven «развёртывает»).

Наконец, ivy встроен в другие инструменты сборки. Примерами являются новые инструменты сборки, такие как Gradle , простой инструмент сборки , и системы разработки, такие как Grails . Поэтому воспользуйтесь репозиторием Enterprise Maven и выберите инструмент сборки, подходящий для команды проекта.

4
ответ дан 1 December 2019 в 10:17
поделиться

Maven великолепен!

У меня не так много времени для лирической работы, как хотелось бы, но вот несколько моих главных преимуществ Maven, в произвольном порядке:

  • Повторяемые сборки: если вы можете построить проект, ваши коллеги будут всегда уметь на своих машинах. Это также будет повторяться на сервере сборки.
  • Стандартизация системы сборки: новые разработчики, знакомые с Maven, сразу узнают, как создавать, выпускать, тестировать и т. Д., Избавляясь от лишних затрат на обучение.
  • Сосредоточьтесь на автоматизации: Maven дает вам представление об автоматизации процессов, связанных с разработкой программного обеспечения.
  • Соглашение по настройке: для создания артефактов не требуется никакой настройки или минимальной настройки.
  • Управление зависимостями: Maven будет разрешать и управлять вашими зависимостями за вас.
  • Тестирование: возможность запускать тесты и интеграционные тесты как часть жизненного цикла вашего проекта.
  • Плагины: существуют тысячи плагинов для выполнения различных задач. Их просто настроить, просто добавив ссылку в POM.

Что касается недостатков, часто говорят, что вам лучше принять настройки Maven по умолчанию и соглашения и в идеале начать использовать их в самом начале нового проекта. Я бы в какой-то степени согласился с этим, если вы хотите сэкономить время на настройке XML в своем POM.

На самом деле я не фанат инструментов, но, использовав Make и Ant до Maven, я действительно не вижу ни одного недостатка в принятии Maven. Это качественный инструмент, позволяющий сэкономить время.

6
ответ дан 1 December 2019 в 10:17
поделиться

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

Я мог бы добавить, что потенциальная опасность использования Maven заключается в том, что если вы работаете над большим проектом, может возникнуть сложность с поддержкой jar-файлов в репозитории. Потенциально вы можете использовать несколько разных версий банок в вашем POM.xml.

Как и в любом проекте, убедитесь, что у вас есть хорошие политики и процедуры для включения различных JAR-файлов в вашу кодовую базу. Эти jar-файлы могут иметь разные лицензии, которые могут открыть ваш код для мира с открытым исходным кодом. Убедитесь, что эти лицензии проверены вашим.

0
ответ дан 1 December 2019 в 10:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: