Maven. Часть 2 – Dependency – Devcolibri – Android для начинающих

Maven. Часть 2 – Dependency

В этом уроке я вам покажу основную силу Maven, а именно как создать проект, который можно разрабатывать целой командой и при этом не потребуется каждому члену команды подключать необходимые библиотеки к проекту, давайте начнем.
И так начнем с того, зачем вам нужен Maven? В статье Maven. Часть 1 – Знакомство и настройка мы уже немного разобрали что это и как настроить.

Тут я хочу вам показать как использовать данный инструмент, а покажу вам его использование на примере JUnit тестирования.

 Шаг 1. Создание Maven проекта

Запускаем нашу всем любимую Intellij IDEA и нажимаем File->Create New Project

Шаг 2.

Теперь в корне проекта вы должны увидеть файл pom.xml.

И вот что вы должны видеть:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <!-- версия модели для POM-ов Maven 2.x всегда 4.0.0 -->
    <modelVersion>4.0.0</modelVersion>

    <!--  
       координаты проекта, то есть набор значений, который
       позволяет однозначно идентифицировать этот проект 
    -->
    <groupId>NewMavenProject</groupId>
    <artifactId>NewMavenProject</artifactId>
    <version>1.0-SNAPSHOT</version>

</project>

С помощью этого файла и осуществляется настройка сборки вашего проекта. К примеру вам нужно собрать проект в *.jar файл, для этого вам достаточно указать это в pom.xml. Как собрать проект в jar файл вы можете посмотреть тут.

Это файл изначально имеет default (поумолчанию) структуру.

Шаг 3. Используем Dependency

Что же такое dependency и для чего они нужны?

Dependency – это зависимости от библиотек, а если точней, то это и есть библиотека, которую вы бы хотели подключить к проекту.

Рассмотрим на базовом шаблоне:

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0</version>

  <!-- зависимости от библиотек -->
  <dependencies>
     <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.11</version>
         <scope>test</scope>
    </dependency>
  </dependencies> 

</project>

В выше приведенном примере я продемонстрировал подключение библиотеки JUnit 4.11 к проекту, теперь при сборке проекта эта библиотека упакуется в мой *.jar или *.war архив, а также теперь мы в наших классах можем обращаться к объектам библиотеки JUnit.

<dependencies> – тут мы размещаем список dependency (библиотек), которые используются в проекте;

<dependency> – библиотека используемая проектом;

<groupId> – идентификатор группы библиотеки;

<artifactId> – артефакт (библиотека);

<version> – версия библиотеки;

<scope> – этап использования.

Шаг 4. Структура проекта

Стандартная структура каталогов:

Стандартная структура каталогов — одна из реализаций этого принципа.

Поскольку проект её придерживается, отпадает необходимость специфицировать пути к файлам, что сильно упрощает pom.xml.

Следующая структура показывает важнейшие каталоги.

Корневой каталог проекта:

– pom.xml и все дальнейшие подкаталоги;

– src: все исходные файлы;

src/main: исходные файлы собственно для продукта;

src/main/javaJava-исходный текст;

src/main/resources: другие файлы, которые используются при компиляции или исполнении, например Properties-файлы;

src/test: исходные файлы, необходимые для организации автоматического тестирования;

src/test/java: JUnit-тест-задания для автоматического тестирования;

target: все создаваемые в процессе работы Мавена файлы;

target/classes: компилированные Java-классы.

Шаг 5. Жизненный цикл

Жизненный цикл проекта — это список поименованных фаз, определяющий порядок действий при его построении.

Maven использует по умолчанию следующий жизненный цикл:

1) archetype – создание темплейта и обработка ресурсов. На этой фазе разрешаются и, при необходимости, скачиваются из интернета зависимости;

2) compile – компиляция;

3) обработка тестовых ресурсов (например — скачивается из интернета JUnit-пакет);

4) компиляция тестов (тестирующие классы не передаются конечным пользователям);

5) test – тестирование;

6) package – упаковка (обычно речь идёт о создании JAR– или WAR-файла);

7) install – инсталляция проекта в локальном Maven-репозитории (теперь он доступен как модуль для других локальных проектов);

8) deploy – инсталляция в удаленном Maven-репозитории (теперь стабильная версия проекта доступна широкому кругу разработчиков).

Maven имеет также стандартный жизненный цикл для чистки (cleaning) и для генерации его страницы (site). Если бы ‘clean’ было частью обычного жизненного цикла, проект подвергался бы чистке при каждом построении, что нежелательно.

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

Maven-плагины позволяют вставлять в стандартный цикл новые шаги (например, распределение на сервер приложений) или расширять существующие шаги. Maven-архетипы представляют собой заготовки для различнейших программных пакетов (если они отвечают стандартам Maven-структуры).

ПОХОЖИЕ ПУБЛИКАЦИИ

    None Found

83133
22/03/2013

5 комментариев к статье "Maven. Часть 2 – Dependency"

Добавить комментарий

Сайт использует cookie-файлы для того, чтобы вам было удобнее им пользоваться. Для продолжения работы с сайтом, вам необходимо принять использование cookie-файлов.

Я ознакомлен(а)