如何从命令行运行此maven插件任务?

时间:2016-02-01 14:25:21

标签: java maven plugins command-line

我在this POM.xml中看到,有些代码使用$userArray

exec-maven-plugin

我想知道是否可以从命令行运行它?因为它似乎生成了一些其他文件使用的java类。

问题:如果可以运行,我该如何运行?

2 个答案:

答案 0 :(得分:2)

您提到的Exec Maven Plugin执行具有对generate-sources阶段的绑定,因此它将作为构建的一部分自动调用(例如,经典的mvn clean install),因为在Maven phases以级联方式调用,最后一个将自动调用前一阶段。

但是,有几种方法可以调用它:

  • 作为Maven构建的一部分,自动(Maven将调用整个构建,因此每个阶段都会调用install,因此POM中列出的所有执行都带有相关的绑定)

    mvn clean install
    
  • 作为对特定阶段的调用的一部分:Maven将通过绑定它(以及任何前一阶段)来调用所有执行,因此不仅是您提到的特定执行

    mvn generate-sources    
    
  • 只有特定的执行,因为Maven 3.3.1,指定插件,目标和执行ID如下:

    mvn org.codehaus.mojo:exec-maven-plugin:1.4.0:java@IDEInjector-client
    

上面的命令只会(并且只)执行您发布的代码段。

作为旁注,您可能需要为您的目的执行整个构建或阶段。通常,这样的一代并不意味着单独调用(甚至不是每个阶段)。所以,我的假设是你只需要运行整个Maven构建,并且 - 作为其中的一部分并且如上所述 - Maven将与POM中已经预见的用于构建的任何内容一起处理这些源代码。

答案 1 :(得分:1)

根据<phase>标记,这与generate-sources阶段绑定。您可以通过从命令行执行mvn generate-sources来调用此阶段。