- •Введение
- •История разработки
- •Терминология
- •Maven – основные понятия
- •Для чего Maven создан?
- •Соглашение по конфигурации
- •Файл pom
- •Супер pom
- •Жизненный цикл сборки проектов
- •Жизненный цикл Clean
- •Жизненный цикл Default (Build)
- •Жизненный цикл Site
- •Профили сборки
- •Типы профилей сборки
- •Активация профиля
- •Репозитории
- •Локальные репозитории
- •Центральный репозиторий
- •Удалённый репозиторий
- •Порядок поиска зависимостей Maven
- •Плагины
- •Типы плагинов
- •Создание проекта
- •Сборка и тестирование проекта
- •Внешние зависимости
- •Документирование проекта
- •Шаблоны проектов
- •Архитип
- •Создание приложения
- •Автоматизация развёртывания
Типы плагинов
Существует два типа плагинов в Maven:
Плагины сборки Выполняются в процессе сборки и должны быть конфигурированы внутри блока <build></build> файла pom.xml
Плагины отчётов Выполняются в процессе генерирования сайта и должны быть конфигурированы внутри блока <reporting></reporting> файла pom.xml.
Вот список, наиболее используемых плагинов:
clean Очищает цель после сборки. Удаляет директорию target.
compiler Компилирует исходные Java файлы.
surefire Запускает тесты JUnit. Создаёт отчёты о тестировании.
jar Собирает JAR файл текущего проекта.
war Собирает WAR файл текущего проекта.
javadoc Генерирует Javadoc проекта.
antrun Запускает набор задач ant из любой указанной фазы.
Создание проекта
Для создания проекта, Maven использует архитипы. Для создания простого Java приложения, мы будем использовать плагин mvn-archetype-quickstart. В примере, приведённом ниже, мы создадим Java приложение с использованием Maven в директории /home/proselyte/Programming/Projects/Proselyte/MavenSimpleProject.
Для этого нам необходимо открыть терминал и после перехода в необходимую нам директорию выполнить следующую команду:
/home/proselyte/Programming/Projects/MavenSimpleProject> mvn archetype:generate -DgroupId=net.proselyte.mavensimple -DartifactId=javaStudent -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false |
В результате мы получим, примерно, следующий результат:
[INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Stub Project (No POM) 1 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] >>> maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom >>> [INFO] [INFO] <<< maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom <<< [INFO] [INFO] --- maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom --- [INFO] Generating project in Batch mode [INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0 [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: basedir, Value: /home/proselyte/Programming/Projects/Proselyte/MavenSimpleProject [INFO] Parameter: package, Value: net.proselyte.mavensimple [INFO] Parameter: groupId, Value: net.proselyte.mavensimple [INFO] Parameter: artifactId, Value: javaStudent [INFO] Parameter: packageName, Value: net.proselyte.mavensimple [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] project created from Old (1.x) Archetype in dir: /home/proselyte/Programming/Projects/Proselyte/MavenSimpleProject/javaStudent [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.927s [INFO] Finished at: Wed Apr 27 16:40:50 EEST 2016 [INFO] Final Memory: 14M/222M [INFO] ------------------------------------------------------------------------ |
В указынной директории мы увидим папку javaStudent, внутри которой находится папка src и файл pom.xml
Перейдя в папку src/main/java мы найдём исходные файлы нашего приложения, а в папке src/main/test – тесты.
