Maven:运行程序的生命周期阶段?

时间:2015-11-16 20:39:39

标签: java maven

我可以使用Maven编译和测试程序

mvn compile
mvn test

是否有生命周期命令来简单地运行程序,或者生成一个运行该程序的脚本?

2 个答案:

答案 0 :(得分:5)

没有生命周期阶段可以执行此操作,但您可以将exec-maven-plugin,特别是exec:java goal绑定到它。例如,要在包阶段上运行目标:

<plugin>
     <groupId>org.codehaus.mojo</groupId>
     <artifactId>exec-maven-plugin</artifactId>
     <version>1.4</version>
     <executions>
         <execution>
            <id>run-java</id>
            <phase>package</phase>
            <goals>
                <goal>java</goal>
            </goals>
         </execution>
      </executions>
      <configuration>
           <mainClass>main.Class</mainClass>
      </configuration>
</plugin>

答案 1 :(得分:3)

如果你问这个问题,那就意味着你不清楚Maven lifecycle究竟是什么。

没有生命周期命令,只有构建生命周期,它由不同的阶段组成。

所以要说清楚:有一个构建生命周期,它由阶段组成,由插件目标组成。

使用

调用Maven时
mvn compile

您正在调用构建阶段。在Maven中,有一个list of predefined ordered phases。当您调用某个阶段时,也会调用它之​​前的所有阶段。调用阶段意味着您正在调用绑定到此阶段的所有插件。对于compile情况,这意味着默认情况下它会调用maven-compiler-plugin绑定到compile阶段。

所以严格地回答你的问题:不,没有生命周期命令来做到这一点。

但是,您可以在POM中配置一个插件,该插件将绑定到某个阶段,然后调用该阶段。为此,您可以参考@ manouti的回答,其中介绍exec-maven-plugin