0Pricing
Java Academy · Урок

Плагины и цели Maven

Настраивайте сборку

«Плагины и цели Maven» — бесплатный урок Java Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 4 уроков всего.

Плагины и цели Maven

Maven почти ничего не делает сам — всю реальную работу выполняют плагины. Плагин добавляет цели, а цели привязываются к фазам жизненного цикла. В этом уроке показано, как плагины настраивают сборку.

Плагины и цели

Плагин — это упакованный набор связанных возможностей. Цель — конкретная задача внутри плагина. Например, плагин компилятора предоставляет цели compile и testCompile.

Координаты целей

Цель можно вызвать напрямую в формате plugin:goal. Например, с помощью mvn compiler:compile или mvn surefire:test. Обычно цели запускаются автоматически, поскольку привязаны к фазам.

Привязка к фазам

Тип упаковки по умолчанию заранее привязывает стандартные плагины к фазам. Для проекта с типом jar цель compile плагина компилятора привязывается к фазе compile, а цель test плагина Surefire — к фазе test. Поэтому команда mvn test просто работает.

Настройка компилятора

Плагин настраивается внутри <build><plugins>. Здесь мы задаём уровень выпуска Java, чтобы компилятор ориентировался на определённую версию.

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.13.0</version>
      <configuration>
        <release>21</release>
      </configuration>
    </plugin>
  </plugins>
</build>

Плагин Surefire

Surefire запускает модульные тесты во время фазы test. Вы можете настроить набор включаемых тестов, параллельное выполнение и аргументы JVM. Его родственный плагин Failsafe запускает интеграционные тесты во время фазы verify.

Привязка дополнительного выполнения

Блок <execution> явно привязывает цель к фазе, при необходимости задавая собственную конфигурацию. Так подключаются дополнительные действия, например генерация кода перед компиляцией.

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>print-banner</id>
      <phase>generate-sources</phase>
      <goals><goal>run</goal></goals>
    </execution>
  </executions>
</plugin>

Сборка JAR с зависимостями

JAR по умолчанию не содержит зависимости. Плагин Shade (или плагин Assembly) объединяет всё в один исполняемый JAR-архив, привязывая свою цель к фазе package.

Плагин Exec

Плагин Exec позволяет запускать приложение из Maven с помощью команды mvn exec:java, указав главный класс. Удобно для быстрых запусков без упаковки.

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <configuration>
    <mainClass>com.example.App</mainClass>
  </configuration>
</plugin>

Управление плагинами

В многомодульной сборке блок <pluginManagement> в родительском POM фиксирует версии плагинов и общую конфигурацию. Дочерние модули затем ссылаются на плагин, не повторяя версию, благодаря чему сборки остаются согласованными.

Изучение конфигурации

Используйте команду mvn help:describe -Dplugin=compiler, чтобы вывести список целей и параметров плагина. Это самый быстрый способ узнать, какие настройки предоставляет плагин, не выходя из терминала.

Проверьте себя

Проверьте, насколько Вы понимаете плагины и цели.

Повторение

Вы узнали, как работают плагины Maven:

  • Всю реальную работу по сборке выполняют плагины, которые добавляют цели.
  • Цели привязаны к фазам жизненного цикла, поэтому стандартные фазы работают автоматически.
  • Плагины настраиваются внутри <build><plugins>; для дополнительных привязок добавляются выполнения.
  • Shade и Assembly собирают JAR с зависимостями; Exec запускает приложение, а Surefire и Failsafe — тесты.
  • mvn help:describe показывает цели и параметры плагина.

Часто задаваемые вопросы

Урок «Плагины и цели Maven» бесплатный?

Да — полный текст урока «Плагины и цели Maven» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 4 уроков всего.

Чему я научусь в уроке «Плагины и цели Maven»?

Настраивайте сборку Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Java Academy?

Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Плагины и цели Maven»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Java Academy?

Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Структура проекта Maven
  2. Плагины и цели Maven
  3. Основы Gradle
  4. Выбор инструмента сборки
← Назад к Java Academy