如何直接从命令行执行maven插件执行?

时间:2010-07-02 14:21:32

标签: maven-2

我有一个插件(antrun),其执行配置具有id并且不绑定到任何阶段。我可以直接从命令行执行此执行吗?

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>my-execution</id>
      ...
    </execution>
  </executions>
</plugin>

用以下的方式运行它:

mvn my-execution

或至少

mvn magicplugin:execute -DexecutionId=my-execution

3 个答案:

答案 0 :(得分:110)

此功能implementedMNG-5768,可在Maven 3.3.1中使用。

改变将:

  

扩展直接插件调用语法以允许可选的@ execution-id参数,例如,org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process @ executionId。

所以,在你的情况下:

mvn antrun:run

使用default-cli执行ID,并且:

mvn antrun:run@my-execution

使用你的pom中配置的执行。

答案 1 :(得分:32)

执行maven插件的最直接方法是直接在命令行上指定插件目标。

mvn groupId:artifactId:version:goal

有关详情,请访问:Development guide for Maven plugins

答案 2 :(得分:13)

您正在寻找的内容已在Default+Plugin+Execution+IDs中捕获,但据我所知,目前尚不支持。但是,根据MNG-3401的评论(直到最后阅读):

  

直接从中调用mojos   命令行,你可以提供   从POM配置使用   executionId:'default-cli'像这样:

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <executions>
    <execution>
      <id>default-cli</id>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
          <descriptorRef>project</descriptorRef>
        </descriptorRefs>
      </configuration>
    </execution>
  </executions>
</plugin>
     

这应该适用于Maven 2.2.0和   3.X。

也许这对你来说已经足够了。