Когда вы запускаете сборку, вы видите что-то вроде этого вывода на консоль Maven?:
[INFO] [assembly:single {execution: 11***}]
[INFO] Reading assembly descriptor: C:\test\test-parent2/src/main/resources/assemblies/11server.xml
[INFO] Building jar: C:\test\test-parent2\assemblies-target\11server.jar
[WARNING] Configuration options: 'appendAssemblyId' is set to false, and 'classifier' is missing.
Instead of attaching the assembly file: C:\test\test-parent2\assemblies-target\11server.jar, it will become the file for
main project artifact.
NOTE: If multiple descriptors or descriptor-formats are provided for this project, the value of this file will be non-de
terministic!
Это происходит потому, что во всех ваших сборках указано <appendAssemblyId>false</appendAssemblyId>
, а классификатор не указан. Классификатор устарел в версии 2.2-бета-4, поэтому в любом случае игнорируется, это ошибка / особенность в плагине.
В результате Maven всегда делает одну из сборок «основным» артефактом для упаковки jar, а вы не видите его в каталоге target-сборки.
Чтобы обойти это, вы можете указать, что ваш проект имеет pom
упаковку, а затем связать цели для жизненного цикла фляги с pom.
Чтобы включить цели process-resources
и compile
, вы должны изменить упаковку на pom
, добавить следующую конфигурацию в pom и запустить стандартные цели жизненного цикла. Например mvn package
или mvn install
.
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>process-resources</id>
<phase>process-resources</phase>
<goals>
<goal>resources</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
Полный список целей, связанных с жизненным циклом jar, можно найти в разделе Встроенные привязки жизненного цикла в Введение в жизненный цикл сборки . Все они следуют схеме, аналогичной целям process-resources
и compile
. В вашем случае вы, вероятно, хотите пропустить цель jar
.