При запуске подключаемый модуль сборки сам выполняет модульное тестирование.Это заставляет их запускаться дважды.
assembly:assembly
goal Вызывает выполнение пакета фазы жизненного цикла перед выполнением самого себя и его запуска накомандная строка, таким образом, вызовет любую фазу до package
.И это включает в себя фазу test
.
Есть ли способ, которым я могу сказать плагину сборки не запускать тесты?
Нет.Я бы предложил создать сборку как часть жизненного цикла сборки, а не вызывать плагин в командной строке, то есть связывать его на определенной фазе.Например:
<project>
...
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
<executions>
<execution>
<id>create-my-assembly</id>
<phase>package</phase><!-- change this if not appropriate -->
<goals>
<goal>single</goal>
</goals>
<configuration>
...
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
И если вы не хотите, чтобы сборка создавалась в случае неудачи ваших интеграционных тестов, привяжите ее на более позднем этапе (например, post-integration-test
или verify
).
И если вы не хотите, чтобы сборка создавалась систематически, поместите указанную выше конфигурацию в профиль.