Maven 2 在maven安装后运行任务

Maven 2 在maven安装后运行任务,maven-2,maven,Maven 2,Maven,我想在maven安装阶段运行一个简单的exec命令。实现这一目标的最简单方法是什么?(不添加新插件)maven的默认生命周期以安装和部署目标结束-没有这些目标的预版本和后版本 可能的选择是: 在部署阶段将exec:exec mojo绑定到。我要警告您不要这样做,因为部署阶段实际上是要将工件部署到远程maven存储库 在mvn调用中的安装目标完成后运行exec:exec mojo。。。e、 g: mvn clean install exec:exec-Dexec.executable=“your

我想在maven安装阶段运行一个简单的exec命令。实现这一目标的最简单方法是什么?(不添加新插件)

maven的默认生命周期以安装和部署目标结束-没有这些目标的预版本和后版本

可能的选择是:

  • 在部署阶段将exec:exec mojo绑定到。我要警告您不要这样做,因为部署阶段实际上是要将工件部署到远程maven存储库

  • 在mvn调用中的安装目标完成后运行exec:exec mojo。。。e、 g:

    mvn clean install exec:exec-Dexec.executable=“yourcommand”-Dexec.args=“arguments”

  • 如果您有一个多模块项目,请在项目末尾创建另一个模块,并将exec:exec绑定到该模块中的任何常见目标。这将强制此特定模块最后运行,前提是不满足其他模块的要求。我在从事maven项目时采用的一种常见策略是“当有疑问时,创建另一个模块”


如果要在正常构建生命周期中运行此命令,除了在
安装
阶段绑定
执行
目标外,没有其他方法:

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <version>1.1.1</version>
      <executions>
        <execution>
          <id>my-exec</id>
          <phase>install</phase>
          <goals>
            <goal>exec</goal>
          </goals>
          <inherited>false</inherited>
        </execution>
      </executions>
      <configuration>
        <executable>COMMAND</executable>
      </configuration>
    </plugin>
  </plugins>
</build>
如我们所见,该命令在
安装
阶段的末尾执行(将工件复制到本地存储库之后)

如果您真的不想将代码段添加到pom中,那么您必须按照whaley的建议,在命令行上
install
之后显式调用
exec:exec

$ mvn install [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Building maven-exec-testcase [INFO] task-segment: [install] [INFO] ------------------------------------------------------------------------ ... [INFO] [install:install {execution: default-install}] [INFO] Installing /home/pascal/Projects/maven-exec-testcase/target/maven-exec-testcase-1.0-SNAPSHOT.jar to /home/pascal/.m2/repository/com/mycompany/app/maven-exec-testcase/1.0-SNAPSHOT/maven-exec-testcase-1.0-SNAPSHOT.jar [INFO] [exec:exec {execution: my-exec}] [INFO] pom.xml [INFO] src [INFO] target [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 12 seconds [INFO] Finished at: Tue Jan 05 19:26:04 CET 2010 [INFO] Final Memory: 11M/75M [INFO] ------------------------------------------------------------------------