Преимущества и недостатки Maven
1. Что такое Maven?
Maven - это инструмент для сборки Java проекта: скачивание дополнительных библиотек, компиляции, создания jar, генерации документации. Простые проекты можно собрать в командной строке. Если собирать большие проекты из командной строки, то команда для сборки будет очень длинной, поэтому её иногда записывают в bat/sh скрипт. Но такие скрипты зависят от платформы. Для того чтобы избавиться от этой зависимости и упростить написание скрипта используют инструменты для сборки проекта. Для платформы Java существуют два основных инструмента для сборки: Ant и Maven. В этом уроке мы рассмотрим основные принципы работы с Maven.
2. Преимущества Maven
- Независимость от OS. Сборка проекта происходит в любой операционной системе. Файл проекта один и тот же.
- Управление зависимостями. Редко какие проекты пишутся без использования сторонних библиотек (зависимостей). Эти сторонние библиотеки зачастую тоже в свою очередь используют библиотеки разных версий. Мавен позволяет управлять такими сложными зависимостями. Что позволяет разрешать конфликты версий и в случае необходимости легко переходить на новые версии библиотек.
- Возможна сборка из командной строки. Такое часто необходимо для автоматической сборки проекта на сервере.
- Хорошая интеграция со средами разработки.
- Декларативное описание проекта (POM).
- Огромный, поддерживаемый в актуальном состоянии репозиторий артефактов.
- Модульная, расширяемая за счет плагинов архитектура, огромное количество плагинов.
3. Недостатки Maven
- Сложность освоения.
- Неочевидность в некоторых моментах.
- Огромное количество плагинов (трудно сориентироваться).
- Трудно разобраться если что-то пошло не так (возникла ошибка).
- Необходим доступ в Интернет или собственный репозиторий артефактов.