Maven - 添加自定义阶段以执行插件和其他配置

5
在一个Maven项目中,我有两组集成测试:自动化测试和手动测试。手动测试很少但繁琐 - 需要拔掉服务器等等。我想为手动测试创建一个单独的目标,这样我就可以运行类似于“mvn manualtests”的命令来运行手动测试。如果你只是运行正常的Maven构建“mvn install”之类的命令,那么自动化测试应该被运行。
我已经使用TestNG注释“@Test(groups =”manual“)”对手动测试进行了注释。现在的目标是有两个surefire插件的配置,一个运行自动化测试,绑定到构建的测试阶段,另一个运行手动测试,绑定到我想要称为“manualtests”的自定义阶段。似乎不能将插件执行绑定到不存在的阶段(即Maven未预定义的阶段)。难道不能定义自己的阶段吗?
2个回答

2
这应该是可能的,虽然不容易。第一步:看看默认情况下如何完成。
使用这个依赖项:
<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-core</artifactId>
    <version>${maven.version}</version>
</dependency>

获取源代码并查看META-INF/plexus文件夹中的components.xml。在那里,定义了默认阶段和默认生命周期/阶段绑定。
创建一个插件,覆盖这些默认阶段(在自己的components.xml中)并将其定义为扩展。

真的不容易...也许可以制作一个插件,根据插件配置动态添加生命周期。我会研究一下的。 - Alexander Torstling
@AlexanderTorstling,你有没有成功找到/创建这样的插件? - Giovanni Lovato

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接