Maven Flashcards
Bild
сборка файла двоичного кода
Автоматизация Bild
- компиляция в бинарник
- билд
- тесты
- деплой на продакшене
- генерация сопроводительной документации
Maven что такое
фреймворк для автоматизации сборки, компиляции, создания jar, создание дистибутива, создание документации, генерации отчетов, управления зависимостями, релизами.
Если собирать большие проекты с командной строки - то строка будет очень большой - используют bat/sh скрипты. НО они зависят то платформы. Поэтому сделал Maven. Описание сборки через pom.xml.
недостатки Maven
Порог входа по знаниям высокий, нужен интернет либо свой репозиторий.
Как узнать версию maven
mvn –version
Основная структура каталогов Maven
pom.xml
src(main(java, resources,filters),test)
target/
Где хранятся файлы классов при компиляции проектов
../target/classes
pom.xml
содержит задачи и плагины в хранится вся информация
superpom.xml
родительский pom.xml
Минимальный помник
4.0.0
ru.ursip.webservice.machine
machine
1.0.0-SNAPSHOT
dependences
библиотек необходимые проекту
plugin
зависимость мавена, расширяющая функционал
goal
задачи, могут быть привязаны к нескольким фазам
archetype
нестандартная копоновка файлов и каталогов
repository
глобальное хранилище библиотек, jar, pom,javadoc
local - /.m2/repository
central - http://repol.maven.org/maven2/
remote - определяется разработчиком
собрать jar
mvn install
порядок поиска зависимостей
сначала локальный репозиторий
затем глобальный
и если указан удаленный - то в нем
LIfeCircle сборки
последовательность фаз сборки
- clean
- build
- site //генерирует документацию
какой командой создать веб сайт проекта
mvn site
mvn clean
очищает директорию от созданных в процессе сборки файлов
Из каких этапов состоит lifecircle clean
pre-clean
clean
post-clean
lifeCircle build
validate - корректность метаинформации о проекте
initialize - инициализирует состояние сборки
generate-sources - включает код в фазу компиляции
process-sources подготавливает исходный код
generate-resources - генерирует ресурсы в директори
compile - компилирует код
process-calsses обработка файлов полученных от компиляции(оптимизация байт-кода)
генерирует ресурсы для тестов
обрабатывает исходники тестов
компилирует их
запускает тесты
упаковывает сборку
интеграционные тесты
верификация пакета
размещение пакета в локальном репозитории
deploy - копирование пакета в удаленный репозиторий
Что сделает команда mvn clean dependency:copy-dependencies package
сначала выполнится clean, затем задача dependency:copy-dependencies и затем package
Профиль сборки
Профиль настроек для сборки проекта, настраиваются в pom.xml с помощью элементов activeProfiles / profiles
профиль сборки юзера настраивается в %USER_HOME%/.m2/settings.xml
глобальный профиль сборки в
%M2_home%/conf/settings.xml