Урок 21

Maven


Maven - это инструмент для сборки Java проекта: компиляции, создания jar, создания дистрибутива программы, генерации документации. Простые проекты можно собрать в командной строке. Если собирать большие проекты из командной строки, то команда для сборки будет очень длинной, поэтому её иногда записывают в bat/sh скрипт. Но такие скрипты зависят от платформы. Для того чтобы избавиться от этой зависимости и упростить написание скрипта используют инструменты для сборки проекта. Для платформы Java существуют два основных инструмента для сборки: Ant и Maven.

Основные преимущества Maven:

  1. Независимость от OS. Сборка проекта происходит в любой операционной системе. Файл проекта один и тот же.
  2. Управление зависимостями. Редко какие проекты пишутся без использования сторонних библиотек (зависимостей). Эти сторонние библиотеки зачастую тоже в свою очередь используют библиотеки разных версий. Мавен позволяет управлять такими сложными зависимостями. Что позволяет разрешать конфликты версий и в случае необходимости легко переходить на новые версии библиотек.
  3. Возможна сборка из командной строки. Такое часто необходимо для автоматической сборки проекта на сервере.
  4. Хорошая интеграция со средами разработки. 
  5. Декларативное описание проекта (POM).
  6. Огромный, поддерживаемый в актуальном состоянии репозиторий артефактов.
  7. Модульная, расширяемая за счет плагинов архитектура, огромное количество плагинов.

Недостатки Maven:

  1. Сложность освоения.
  2. Неочевидность в некоторых моментах.
  3. Огромное количество плагинов (трудно сориентироваться).
  4. Трудно разобраться если что то пошло не так (возникла ошибка).
  5. Необходим доступ в Интернет или собственный репозиторий артефактов.

 

Руководство по Maven

Ответы на вопросы на собеседование (часть 1)

Ответы на вопросы на собеседование (часть 2)



0 comments
Leave your comment: