Понимание модели управления связями в Maven 2
Для того чтобы эффективно работать с Maven 2 вам необходимо сначала понять как работает модель управления связями.
Модель управления связями предназначена для проектов, программные компоненты которых (называемые модулями) могут разрабатываться различными проектными группами. Она поддерживает непрерывную независимую разработку и совершенствование всех зависимых модулей.
Этот сценарий командного сотрудничества - норма для проектов с открытым исходным кодом, создаваемых и отлаживаемых через Интернет, и все чаще встречается в корпоративных кругах, где собственная разработка компании пересекается с разработками с открытым исходным кодом или с данными из внешних источников.
Обработка связей проекта
Движок управления связями Maven 2 помогает обработать связи в проекте во время процесса создания.
 |
Локальные и удаленные репозитории Maven
Ваш локальный репозиторий Maven 2 - это каталог на вашем диске, обычно расположенный в исходном каталоге HomeDirectory/.m2/repository. Этот репозиторий работает как высокопроизводительный локальный кэш, который хранит любые артефакты загруженные в результате обработки связей. Удаленные репозитории доступны по сети. Вы можете отредактировать список удаленных репозиториев в файле конфигурации settings.xml.
|
|
На практике, связи определены в элементах <dependencies> (связи) в файле pom.xml и входят в Maven как часть POM.
Связи в проекте хранятся на репозиторных серверах (просто называемых репозитории в терминологии Maven). Успех обработки связей зависит от нахождения требуемого зависимого артефакта в репозитории, содержащем этот артефакт.
 |
Настройка Maven через settings.xml
Вы можете задать настройки конфигурации, влияющие на работу Maven, в файле settings.xml. Файл значений по умолчанию находится в MavenInstallationDirectory/conf/settings.xml. Пользователи Maven 2 могут подключить UserHomeDirectory/.m2/settings.xml для того, чтобы переопределить некоторые настройки конфигурации. См. Руководство по настройке Maven для получения подробной информации по настраиваемым опциям.
|
|
Исходя из информации в POM о связях в проекте, определитель связей пытается определить связи в следующем порядке:
- Ваш локальный репозиторий проверяется на наличие связи.
- Список удаленных репозиториев проверяется на наличие связи.
- При невозможности сделать 1 и 2, выдается сообщение об ошибке.
По умолчанию, первый удаленный репозиторий, с которым устанавливается связь в Шаге 2, - всемирно доступный центральный репозиторий Maven 2, содержащий артефакты к самым распространенным проектам с открытым исходным кодом. В случае внутренней разработки, вы можете добавить дополнительные удаленные репозитории, содержащие опубликованные артефакты модулей собственной разработки. Элемент <repositories> (репозитории) в settings.xml может быть использован для задания этих дополнительных удаленных репозиториев.
Принудительное использование одной копии артефакта
Когда вы используете Maven 2 для создания ваших проектов, определение связей через центральный репозиторий гарантирует, что существует только одна копия связанного артефакта, несмотря на то, сколько проектов и под-проектов на него ссылается. Это очень важное свойство для многомодульных проектов, так как включение нескольких копий артефактов может привести к проблемам целостности и последовательности.
|