如果一个失败,是否可以执行两个maven插件的相同生命周期?
例:
假设我有以下插件配置,
<plugins>
<plugin>
<groupId>smothing</groupId>
<artifactId>plugin-1</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>doSomthing</id>
<phase>test</phase>
//...//
</plugin>
<plugin>
<groupId>something</groupId>
<artifactId>plugin-2</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>doSomthingAgain</id>
<phase>test</phase>
//...
</plugin>
</plugins>
即使第一个插件失败,我也想执行plugin-2测试阶段。我不想忽略或跳过测试用例。
即使一个失败,我还有两个插件可以执行相同的阶段。
<groupId>com.thoughtworks.gauge.maven</groupId>
<artifactId>gauge-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
基本上,在测试之后,我想通过maven exec插件执行一些清理活动。那么总是执行maven exec插件有什么选择吗? (没有命令行参数,我在pom.xml中期待的东西)
我已经看到了这些答案,但一切都说要跳过测试用例。
How to run a maven goal when there is tests failures?
Maven reporting plugins do not execute if a unit test failure occurs
任何帮助非常感谢:)
如果插件失败,它将停止执行生命周期。所以你不应该试着通过考虑为某些条件执行另一个插件来解决它。根据您的描述,最佳方法似乎是编写扩展,请参阅https://maven.apache.org/examples/maven-3-lifecycle-extensions.html。使用https://maven.apache.org/ref/3.6.0/maven-core/apidocs/index.html?org/apache/maven/execution/AbstractExecutionListener.html,您可以看到您可以在生命周期的任何部分之前或之后执行操作,例如在projectSucceeded + projectFailed之后清理