Вы можете переместить элемент конфигурации ниже элемента исполнения объявления плагина. Это означает, что конфигурация будет применена только к этому выполнению. Затем вы можете добавить дополнительные исполнения плагина сборки для других ваших сборок.
Вот пример модифицированной конфигурации с двумя исполнениями, каждое из которых ссылается на свою сборку:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>make-business-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<finalName>app_business</finalName>
<descriptors>
<descriptor>src/main/assembly/business-assembly.xml</descriptor>
</descriptors>
<attach>true</attach>
</configuration>
</execution>
<execution>
<id>make-gui-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<finalName>app_gui</finalName>
<descriptors>
<descriptor>src/main/assembly/gui-assembly.xml</descriptor>
</descriptors>
<attach>true</attach>
</configuration>
</execution>
</executions>
</plugin>
При такой конфигурации в каталоге назначения будут созданы два дополнительных jar-файла (app _business.jar и app _gui.jar), однако следует помнить, что при установке проекта будет установлен только последний собранный артефакт (это может конечно будет проблема).
Чтобы избежать этого, вам нужно изменить свойства appendAssemblyId на true . Самое близкое, что вы можете получить в этом случае, - это поменять finalNames на «app», а идентификаторы на «gui» и «business», что приведет к упаковке app-gui.jar и app-business.jar и установке всех артефактов.