В этой статье блога мы рассмотрим различные методы создания сборки 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. Следуя предоставленным примерам кода и инструкциям, вы сможете выбрать метод, который лучше всего соответствует требованиям вашего проекта.