Каждый модуль Apache Maven — будь то приложение, библиотека, плагин системы сборки и т.д. — имеет свои глобально уникальные координаты, которые позволяют идентифицировать модуль во Вселенной артефактов Maven.
Координаты состоят из трех полей.
groupId
определяет принадлежность модуля к какой-либо сущности, например, компании, организации или домену. Как правило, в качестве groupId
указывают обратное имя домена собственника программного продукта (например, для домена circumflex.savant.pro
идентификатор группы будет pro.savant.circumflex
).
artifactId
уникально идентифицирует модуль внутри группы. Как правило, выбирают сокращенное название компонента (приложения или библиотеки), а слова разделяют дефисами -
. Иногда в artifactId
позволяют небольшую избыточность для избежания неоднозначностей (например, модуль «Circumflex Web Framework» имеет идентификатор артефакта circumflex-web
, а не web
, несмотря на то, что слово «circumflex» уже встречается в groupId
).
Версия version
— это временная координата проекта, отражающая его состояние на определеном этапе развития.
Поле version
может иметь произвольное значение, однако на практике разработчики стараются придерживаться схемы нумерации версий, которая является общей практически для всех артефактов Maven:
<major number>.<minor number>[.<incremental number>[-<qualifier>]]
классификатор (qualifier) — произвольные символы, которые помогают сориентироваться в версиях; ниже приведены наиболее распространенные классификаторы:
SNAPSHOT
— в активной разработке (этот специальный классификатор используется менеджерами репозиториев Maven);
alpha
, beta
— указание на стадию разработки проекта (также добавляют номера);
RC
(release candidate) — кандидат на публичный выпуск (также добавляют номера);
GA
(global availability) отмечает стабильный публичный релиз, протестированный третьими лицами в промышленной эксплуатации.
Версии делятся на две категории:
version
таких артефактов оканчивается специальным классификатором -SNAPSHOT
;
1.0
, 1.0.1
, 1.0-SNAPSHOT
, 1.0-RC1
, 1.0-M1
, 1.0-alpha3
, 1.0-b76
1
, 2013-02-26
, x.y.z
, 1.0/14
, 1.0.1.6
Создание проекта | Генерация проекта |