Я новичок в Maven и использую POM.XML для создания файлов JAR.
Сейчас у меня есть три файла jar, все без их зависимостей.Например, одна из моих зависимостей - Selenium, которую я использую для открытия браузера Chrome.
Мне нужны два jar-файла, каждый со своими зависимостями.
Я попытался создать один JAR-файл с зависимостями, который работает.Вот код для этого ...
<modelVersion>4.0.0</modelVersion>
<groupId>com.costanzo.mavendemo</groupId>
<artifactId>java-archive</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>com.costanzo.mavendemo.MavenDemo1</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Но когда я пытаюсь добавить другое выполнение для создания другого файла JAR, он создает три, все без моих зависимостей.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.2</version>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>com.costanzo.mavendemo.MavenDemo1</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>client</classifier>
<includes>
<include>**/*</include>
</includes>
</configuration>
</execution>
<execution>
<id>make-assembly2</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>client2</classifier>
<includes>
<include>**/*</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Теперь обратите внимание, что я добавил версию в свой тег сборки.Это заставило меня сменить «метку цели» с «сингла» на «банку».Я также попытался вставить зависимости, такие как весь тег 'configuration' из оригинала, в оба исполнения.Я получаю три файла jar, но ни один из них не содержит зависимости.
* Редактировать * Я знаю, что было бы лучше разделить этот XML-файл на несколько файлов для выполнения этой задачи.однако спецификации проекта требуют, чтобы они выполнялись с использованием одного файла pom.xml.