我可以使用Maven编译和测试程序
mvn compile
mvn test
是否有生命周期命令来简单地运行程序,或者生成一个运行该程序的脚本?
答案 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
。