运行时,程序集插件正在运行单元测试本身。这会使它们运行两次。
这个
assembly:assembly
目标
在执行自己之前调用生命周期阶段包的执行
因此,在命令行上运行它将调用
phase
之前
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
)
如果您不希望系统地创建程序集,请将上述配置放在概要文件中。