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

如何直接从命令行执行maven插件执行?,maven,maven-2,Maven,Maven 2,我有一个插件(antrun),配置了一个执行,它有一个id,并且没有绑定到任何阶段。我可以直接从命令行执行此执行吗 <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>my-execution</id> ... </execution>

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

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>my-execution</id>
      ...
    </execution>
  </executions>
</plugin>
或者至少

mvn magicplugin:execute -DexecutionId=my-execution

您正在寻找的内容已在中捕获,但据我所知,目前不支持。然而,根据(读到最后)的评论:

对于直接从 命令行,您可以提供 使用 executionId:“默认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汇编插件
默认cli
带有依赖项的jar
项目
这应该在Maven 2.2.0和 3.x


也许这对您来说就足够了。

此功能已作为,并在Maven 3.3.1中提供

这项改变将:

扩展直接插件调用语法以允许可选的@execution id参数,例如org.apache.maven.plugins:maven远程资源插件:1.0:process@executionId.

因此,在你的情况下:

mvn antrun:run
使用
默认cli
执行ID,并:

mvn antrun:run@my-execution

使用pom中配置的执行。

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

mvn groupId:artifactId:version:goal

更多信息请访问:

如果您的答案正确,则这不完全是问题事件;)。但是,如何准确地运行“默认cli”执行?如果插件定义中有几次执行,我一直在努力让Spring Boot Jasypt实用程序插件运行,不管出于什么原因,我能让它被Maven识别的唯一方法就是遵循上面的建议。仅仅直接指定目标(
mvnjasypt:encrypt…
)是不够的。谢谢@dimitri-dewaele。关于运行特定执行的问题;您的答案将运行为一个目标配置的所有执行。从工件ID“maven antrun plugin”中,我们如何知道应该在
mvn antrun:run
中使用的只是“antrun”?@mks-d请参见为什么
org.apache.maven。插件:maven antrun plugin
可以称为
antrun
@Joe谢谢,在插件组之上,还有一个明显的机制。。。
mvn groupId:artifactId:version:goal