- •Введение
- •История разработки
- •Терминология
- •Maven – основные понятия
- •Для чего Maven создан?
- •Соглашение по конфигурации
- •Файл pom
- •Супер pom
- •Жизненный цикл сборки проектов
- •Жизненный цикл Clean
- •Жизненный цикл Default (Build)
- •Жизненный цикл Site
- •Профили сборки
- •Типы профилей сборки
- •Активация профиля
- •Репозитории
- •Локальные репозитории
- •Центральный репозиторий
- •Удалённый репозиторий
- •Порядок поиска зависимостей Maven
- •Плагины
- •Типы плагинов
- •Создание проекта
- •Сборка и тестирование проекта
- •Внешние зависимости
- •Документирование проекта
- •Шаблоны проектов
- •Архитип
- •Создание приложения
- •Автоматизация развёртывания
Центральный репозиторий
Центральный репозиторий Maven – это репозиториий, который обеспечивается сообществом Maven. Он содержит огромное количество часто используемых библиотек.
Если Maven не может найти зависимости в локальном репозитории, то автоматически начинается поиск необходимых файлов в центральном репозитории по этому адресу: http://repo1.maven.org/maven2/.
Удалённый репозиторий
Иногда, Maven не может найти необходимые зависимости в центральном репозитории. В этом случае, процесс сборки прерывается и в консоль выводится сообщение об ошибке.
Для того, чтобы предотвратить подобную ситуацию, в Maven предусмотрен механизм Удалённого репозитория, который является репозиторием, который определяется самим разработчиком. Там могут храниться все необходимые зависимости.
Для того, чтобы настроить удалённый репозиторий, необходимо внести следующие изменения в файл pom.xml.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.companyname.projectgroup</groupId> <artifactId>Tutorials</artifactId> <version>1.0</version> <dependencies> <dependency> <groupId>net.proselyte.private-lib</groupId> <artifactId>private-lib</artifactId> <version>1.0.0</version> </dependency> <dependencies> <repositories> <repository> <id>proselyte.lib1</id> <url>http://download.proselyte.net/maven2/lib1</url> </repository> <repository> <id>proselyte.lib2</id> <url>http://download.proselyte.net/maven2/lib2</url> </repository> </repositories> </project> |
Порядок поиска зависимостей Maven
Когда мы выполняем собрку проекта в Maven, автоматически начинается поиск необходимых зависимостей в следующем порядке:
Поиск зависимостей в локальном репозитории. Если зависимости не обнаружены, происходит переход к шагу 2.
Поиск зависимостей в центральном репозитории. Если они не обнаружены и удалённый репозиторий определён, то происходит переход к шагу 4.
Если удалённый репозиторий не определён, то процесс сборки прекращается и выводится сообщение об ошибке.
Поиск зависимостей на удалённом репозитории, если они найдены, то происходит их загрузка в локальный репозиторий, если нет – выводится сообщение об ошибке.
Плагины
Если говорить в целом, то Maven – это фреймворк, который выполняет плагины. В этом фреймворке каждая задача, по сути своей, выполняется с помощью плагинов.
Плагины Maven используются для:
создания jar – файла
создания war – файла
компиляции кода файлов
юнит-тестирования кода
создание отчётов проекта
создание документации проекта
В общей форме, плагин обеспечивает набор целей, которые могут быть выполнены с помощью такого синтаксиса:
mvn [имя-плагина]:[имя-цели]
Например, для того, чтобы выполнить компиляцию проекта нам необходимо использовать следующую команду:
mvn compiler:compile
