maven-添加自定义阶段以使用其他配置执行插件
题
我在一个Maven项目中有两套集成测试 - 自动和手动测试。手动测试很少,但乏味 - 他们需要拉动服务器等。我想为手动测试创建一个单独的目标,因此我可以运行类似的东西 mvn manualtests
运行手动测试。如果您只运行普通的Maven构建 mvn install
大概,应进行自动测试。
我已经用TestNG注释对手动测试进行了注释 @Test(groups="manual"
. 。现在的目标是具有Surefire插件的两种配置,一个运行自动测试,该测试绑定到构建的测试阶段,另一个运行手动测试,该测试绑定到我想调用的另一个自定义阶段 manualtests
. 。似乎不可能将插件的执行绑定到不存在的阶段(即Maven没有预定的一个阶段)。是否不可能定义自己的阶段?
解决方案
这应该可能,尽管并不容易。第一步:默认情况下查看如何完成。
使用此依赖性:
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${maven.version}</version>
</dependency>
获取来源,并查看元件内部/丛/丛内的components.xml。在那里,定义了默认阶段和默认的生命周期 /相绑定。
创建一个覆盖这些默认阶段的插件(在其自身的组件中)和 将其定义为扩展
不隶属于 StackOverflow