Полное руководство: создание сборки Maven для создания архива с помощью JAR

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

Метод 1: использование плагина сборки Maven
Плагин сборки Maven позволяет нам определять дескрипторы сборки, которые определяют, как упаковывать выходные данные нашего проекта в архив. Чтобы создать сборку, включающую файл JAR, выполните следующие действия:

Шаг 1. Добавьте плагин сборки Maven в файл pom.xml вашего проекта:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>3.3.0</version>
      <configuration>
        <descriptors>
          <descriptor>assembly.xml</descriptor>
        </descriptors>
      </configuration>
      <executions>
        <execution>
          <id>make-assembly</id>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

Шаг 2. Создайте файл дескриптора сборки (assembly.xml) в корневом каталоге проекта:

<assembly>
  <formats>
    <format>tar.gz</format>
    <format>zip</format>
  </formats>
  <fileSets>
    <fileSet>
      <directory>${project.build.directory}</directory>
      <outputDirectory>/</outputDirectory>
      <includes>
        <include>*.jar</include>
      </includes>
    </fileSet>
  </fileSets>
</assembly>

Шаг 3. Создайте проект:

mvn clean package

Метод 2: использование плагина Maven Shade
Плагин Maven Shade — это еще один вариант создания сборки, включающей файл JAR. Он предлагает большую гибкость и настройку по сравнению с плагином сборки. Чтобы использовать его, выполните следующие действия:

Шаг 1. Добавьте плагин Maven Shade в файл pom.xml вашего проекта:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>3.2.4</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>shade</goal>
          </goals>
          <configuration>
            <createDependencyReducedPom>false</createDependencyReducedPom>
            <shadedArtifactAttached>true</shadedArtifactAttached>
            <shadedClassifierName>jar-with-dependencies</shadedClassifierName>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

Шаг 2. Создайте проект:

mvn clean package

Метод 3: использование плагина сборки Maven с дескриптором пользовательской сборки
Если вам требуются более сложные конфигурации сборки, вы можете создать файл дескриптора пользовательской сборки. Выполните следующие действия:

Шаг 1. Добавьте плагин сборки Maven в файл pom.xml вашего проекта (так же, как в методе 1).

Шаг 2. Создайте файл дескриптора пользовательской сборки (например, custom-assembly.xml) в корневом каталоге проекта, определив желаемую структуру сборки.

Шаг 3. Измените конфигурацию подключаемого модуля сборки Maven в pom.xml, чтобы использовать дескриптор пользовательской сборки:

<configuration>
  <descriptors>
    <descriptor>custom-assembly.xml</descriptor>
  </descriptors>
</configuration>

Шаг 4. Создайте проект (то же, что и метод 1).

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