Maven: фазы, плагины, зависимости и сборка

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

  1. Фазы сборки (Build Phases): Maven представляет процесс сборки проекта как последовательность фаз, которые описываются в файле pom.xml. Некоторые основные фазы:

    • validate: Проверка корректности проекта.

    • compile: Компиляция исходных файлов.

    • test: Запуск тестов.

    • package: Упаковка скомпилированных файлов в итоговый артефакт (JAR, WAR и т. д.).

    • install: Установка артефакта в локальный репозиторий.

    • deploy: Размещение артефакта в удаленном репозитории.

  2. Плагины (Plugins): Maven использует плагины для выполнения различных задач на различных этапах сборки проекта. Плагины определяются в файле pom.xml и могут выполнять задачи, такие как компиляция, тестирование, создание артефактов и т. д.

    Пример объявления плагина:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
  3. Зависимости (Dependencies): Maven позволяет управлять зависимостями проекта, автоматически загружая их из удаленных репозиториев и добавляя их в проект. Зависимости описываются в файле pom.xml.

    Пример объявления зависимости:

    <dependencies>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
    </dependencies>
  4. Сборка проекта: Для сборки проекта с использованием Maven в командной строке нужно выполнить команду mvn clean install. Это пример команды, которая очищает проект, компилирует исходные файлы, выполняет тесты, упаковывает артефакт и устанавливает его в локальный репозиторий.

Last updated