代码之家  ›  专栏  ›  技术社区  ›  artemb

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

  •  71
  • artemb  · 技术社区  · 14 年前

    我有一个插件(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 回复  |  直到 6 年前
        1
  •  108
  •   mkobit    8 年前

    此功能已经 implemented 作为 MNG-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中配置的执行。

        2
  •  29
  •   Dimitri Dewaele    8 年前

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

    mvn groupId:artifactId:version:goal
    

    更多信息请访问: Development guide for Maven plugins

        3
  •  13
  •   pitseeker    6 年前

    你要找的是 Default+Plugin+Execution+IDs 但据我所知目前还没有得到支持。然而,根据 MNG-3401 (读到最后):

    对于直接从 命令行,您可以提供 使用 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。

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