Maven предоставляет:
- Управление зависимостями: Автоматическое скачивание, разрешение и кеширование библиотек.
- Стандартизированную структуру проекта: Ожидаемую структуру каталогов и файлов.
- Жизненный цикл сборки: Определенные фазы (компиляция, тестирование, упаковка и т.д.), которые можно выполнять.
- Управление плагинами: Расширяемость функционала через плагины для различных задач (unit-тестирование, генерация отчетов, деплой и т.д.).
- Управление профилями: Возможность адаптировать сборку для различных сред (разработка, тестирование, продакшн).
- Генерацию отчетов: Отчеты о покрытии кода, статический анализ и другие метрики.
- Централизованное хранилище артефактов: Встроенный репозиторий (.m2) и возможность работы с удаленными репозиториями (Maven Central, свой Nexus/Artifactory).
Структура проекта по умолчанию:
plaintext
Пример плагина:
xml