2010-07-02 147 views
50

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

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

有类似的运行:

mvn my-execution 

或至少

mvn magicplugin:execute -DexecutionId=my-execution 

回答

12

目前不支持你正在寻找Default+Plugin+Execution+IDs被捕获,但据我所知什么。然而,根据的MNG-3401的评论(读取它们,直到结束):

用于mojos直接从 命令行调用,则可以从POM使用 流程id提供 配置:“默认-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的工作

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

+0

,这是不完全的问题时,如果你的答案是正确的)。 – 2016-04-26 06:40:08

70

此功能已被implemented评为MNG-5768,并可在Maven 3.3.1中找到。

的变化将:

延伸直接插件调用语法以允许可选@执行-id参数,例如org.apache.maven.plugins:行家-远程资源-插件:1.0:处理@流程id。

所以,你的情况:

mvn antrun:run 

使用default-cli执行ID,以及:

mvn antrun:[email protected] 

使用在你的POM中配置的执行。

+0

这应该是我猜的答案。 – 2018-02-06 16:13:02

9

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

mvn groupId:artifactId:version:goal 

的更多信息:Development guide for Maven plugins

+1

但是我怎样才能完全运行“默认cli”执行?如果在插件定义中有多个执行。 – 2017-06-27 15:38:31