Что такое Maven, и где он обитает?
Лаконичный гайд по первым шагам в использовании maven. Пишем свой первый проект.
Мавен – это фреймворк автоматической сборки проектов с широким функционалом – достаточно широким, чтобы неподготовленный разработчик, зашедший в эти дебри, заработал головную боль, сломал себе проект и ногу, а то и обе. Сегодня мы попробуем буквально за 10 минут освоить главные фишки мавен : управление зависимостями, в том числе транзитивными, и автоматическую сборку. Если вдруг вы не знакомы с понятием транзитивных зависимостей, это цепочка A ← B ← C, где A зависит от В, а В от С. Maven позволяет не запариваться по этому поводу, и если вам нужен именно А, указывать только его, об остальном позаботится за вас.
Я предполагаю, что у вас уже установлена java, если нет, то срочно это исправьте. Maven использует декларативный подход, где все инструкции записываются на языке разметки POM – обычном XML с рядом предопределенных сущностей. В данной статье примеры будут достаточно просты, так что курсы XML пока можно отложить.
Установка Maven.
Задача проста.
- Идем на главный сайт проекта, скачиваем подходящий для вашей системы архив и распаковываем в удобную директорию, желательно без кириллицы в названии.
- Прописываем директорию в переменные окружения PATH.
- Рекомендую проверить наличие в PATH JAVA_HOME.
Первый проект Maven
Все современные IDE позволяют создать проект maven буквально двумя кликами, но мы не станем срезать путь. Для создания простейшей директории запустите в консоли команду:
Мы создали классический "Hello, world", разберём его в деталях. Первое, во что мы упираемся, – это archetype
, так в Maven называются шаблоны. Команда archetype:generate
создает проект по архетипу. В нашем случае id по умолчанию приравнивается к 15 или maven-archetype-quickstart
.
Чтобы задать шаблон, просто добавьте в команду
Полный список доступных шаблонов можно посмотреть на сайте или отдельно в консоли вбить mvn archetype:generate
. Следом идет archetypeGroupId
– что-то вроде пространства имён шаблонов. GroupId
– обычно используется для указания производителя. Artifact
– это название нашего проекта. Собственно, артефакты – это главная сущность в Maven, из них состоит всё.
На выходе получаем такую структуру:
В корне видим сгенерированный файл pom.xml, открываем его.
Большая часть этого файла сгенерирована и не нуждается в корректировке на стартовом этапе, кроме тега dependencies
, именно здесь нужно будет объявлять зависимоcти, каждую в отдельном теге dependency
. Сейчас там указана только библиотека для тестирования junit
.
Важные тонкости
Напоследок хочу обратить внимание на несколько пунктов. По умолчанию Maven работает с java 1.6, чтобы это поправить, нужно внутри тега project добавить следующий код, заменив {Ваша версия java}
на соответствующий номер.
Поздравляю, проделанной работы достаточно, чтобы прописать команду сборки:
Фреймврок автоматически пройдет цепочку из 6 этапов, и теперь остается только запустить:
Наслаждаемся результатом трудов! =)
Этого должно быть достаточно для базового понимания Maven. Если вы загорелись идеей освоить этот инструмент и использовать весь его функционал, стоит начать с детального изучения super POM, шаблонов и плагинов. Удачи вам в освоении новых рубежей ;)