java - 两个具有相同执行阶段的 Maven 插件

标签 java maven gauge

如果一个失败,是否可以执行两个 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 插件执行一些清理 Activity 。那么我有什么选择可以始终执行 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之后进行清理

关于java - 两个具有相同执行阶段的 Maven 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54842874/

相关文章:

java - 自上次重启以来的时间 : how can i convert?

java - glassfish 7 + jakarta ee 10 + hibernate 实体管理器 java.lang.NoClassDefFoundError : org/hibernate/annotations/common/reflection/ReflectionManager

java - 如何防止在 maven-release-plugin 中推送 SNAPSHOT 版本?

java - Maven 将主项目包含到 test-jar 中

javascript - 是否有允许多个系列/列的 D3 仪表?

java - Erlang - 发出 ssl :send(Socket, 数据时未收到数据)

java - 在 JDBC 连接字符串中选择负载平衡策略

mono - 圆形仪表渐变 - TeeChart - MonoAndroid

python - 如何使用python绘制彼此相邻的绘图仪表图?

java - 为什么 JarFile 不验证签名者?