IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  Технология Java | Open source  >

Введение в Apache Maven 2

developerWorks
На предыдущую страницуСтраница 4 из 16 На предыдущую страницу

Опции документа

Исходные тексты примера


Выскажите мнение об этом учебном пособии

Помогите нам улучшить содержание


Репозитории и координаты

Репозитории Maven 2 содержат набор артефактов, используемых Maven для принятия решений о связях в проекте. Локальные репозитории доступны на локальных дисках, а удаленные - по сети.

Артефакт упакован как файл JAR, содержащий двоичную библиотеку или исполняемый код. Это называется типом артефакта. На самом деле артефакт так же может быть WAR, EAR или другим типом пакета кода.

Maven 2 использует такую же структуру каталогов, как и операционная система, позволяя быстрое индексирование набора артефактов, хранящихся в репозитории. Система индексации репозитория зависит от возможности присвоить уникальное имя любому артефакту посредством его координаты.

Координаты Maven

Координаты Maven - это набор взаимосвязанных значений, уникально определяющих любой артефакт. Координата включает в себя три компонента:

  • ID группы group ID: Объект или организация, ответственная за производство артефакта. Например, com.ibm.devworks может быть ID группы.

  • ID артефакта artifact ID: Имя данного артефакта. Например, проект с основным классом OpsImp может использовать OpsImp как ID артефакта.

  • Версия version: Номер версии артефакта. Поддерживается форма записи формата mmm.nnn.bbb-qqqqqqq-dd , где mmm - это основной номер версии, nnn - это дополнительный номер версии, и bbb - это уровень коррекции ошибок. Необязательными являются поля qqqqq (спецификатор) и dd (номер сборки).

Координаты Maven используются во всех файлах конфигурации Maven и POM. Например, чтобы определить связь проекта с модулем OpsImp на уровне 1.0-SNAPSHOT, файл pom.xml содержит сегмент, показанный в Листинге 1:


Листинг 1. Пример координат Maven для OpsImp модуля
                    
<dependencies>
   <dependency>
      <groupId>com.ibm.devworks</groupId>
      <artifactId>OpsImp</artifactId>
      <version>1.0-SNAPSHOT</version>
   </dependency>
</dependencies>

Спецификатор SNAPSHOT сообщает Maven 2, что проект или модуль находится в разработке, и что он должен выбрать последнюю копию артефакта.

Чтобы указать, что проект связан с JUnit для тестирования модулей, надо добавить координаты JUnit 3.8.1 в качестве связи в pom.xml проекта так, как показано в Листинге 2:


Листинг 2. Координаты Maven для связи JUnit
                    
<dependencies>
   <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
   </dependency>
</dependencies>



В начало


Изучение репозитория Maven

Поскольку репозитории в Maven представляют собой обычные деревья каталогов, вы легко можете увидеть, каким образом артефакты хранятся на диске. Рисунок 3 - часть локального репозитория, показывающего местонахождение артефакта JUnit 3.8.1:


Рисунок 3. Внутри репозитория Maven 2
Внутри репозитория Maven 2

На рисунке 3 вы можете видеть, что Maven содержит файлы POM артефактов вместе с хэшами контрольной суммы как для артефакта, так и для его POM в репозитории. Эти файлы гарантируют целостность артефакта, при его передаче между репозиториями. Этот артефакт был загружен с центрального репозитория и помещен в локальный движок управления связями Maven.

На рисунке 4 показан артефакт с координатами com.ibm.devworks/OpsImp/1.0-SNAPSHOT в локальном репозитории. Артефакт находится в каталоге вместе с файлом POM. В этом случае, артефакт установлен локально.


Рисунок 4. Артефакт OpsImp в локальном репозитории
 Артефакт OpsImp в локальном репозитории


В начало



На предыдущую страницуСтраница 4 из 16 На предыдущую страницу
    IBM в России Конфиденциальность Контакты