gpt4 book ai didi

Maven - 确定同一阶段不同插件目标的顺序

转载 作者:行者123 更新时间:2023-12-03 05:02:08 26 4
gpt4 key购买 nike

以下代码片段是 maven-cargo 插件配置的摘录,但问题与该特定插件无关。

            <executions>
<execution>
<id>start</id>
<phase>pre-integration-test</phase>
<goals>
<goal>deploy</goal>
<goal>start</goal>
</goals>
</execution>
</executions>

此配置(让我们简单地称之为插件 A)将等到 pre-integration-test 阶段,然后触发其目标 deploystart >(按顺序)。

假设我有另一个插件 B,它在同一阶段相关。我有什么选择

  1. 在 A 之前(之后)执行插件 B 的目标? (someStuff -> 部署 -> 启动)
  2. 在插件 A 的目标之间执行插件 B 的目标(部署 -> someStuff -> 启动)

我认为(1)的答案是here ,将目标的顺序链接到 POM 中插件定义的顺序。但我不知道(2)。

最佳答案

你对(1)的看法是正确的。如果两个插件要在同一阶段执行,那么它们将按照pom.xml中声明的顺序执行。

我对(2)不是100%确定,但我认为如果没有一些技巧,这是不可能的,比如使用exec-maven-plugin,例如:

<!-- deploy -->
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<executions>
<execution>
<id>deploy</id>
<phase>pre-integration-test</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- do something -->
<plugin>
<groupId>some_other_plugin</groupId>
<artifactId>some_other_plugin</artifactId>
<executions>
<execution>
<id>someStuff</id>
<phase>pre-integration-test</phase>
<goals>
<goal>some_goal</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- start -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>start</id>
<phase>pre-integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>mvn</executable>
<commandlineArgs>org.codehaus.cargo:cargo-maven2-plugin:start -Dparam=value</commandlineArgs>
</configuration>
</execution>
</executions>
</plugin>

关于Maven - 确定同一阶段不同插件目标的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9391996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com