Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven:运行程序的生命周期阶段?_Java_Maven - Fatal编程技术网

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

Java Maven:运行程序的生命周期阶段?,java,maven,Java,Maven,我可以使用Maven编译和测试程序 mvn compile mvn test 是否有一个lifecycle命令来简单地运行程序,或者生成一个脚本来运行程序?没有生命周期阶段来执行此操作,但是您可以将exec maven插件,特别是与之绑定。例如,要在包阶段运行目标: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</a

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

mvn compile
mvn test

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

没有生命周期阶段来执行此操作,但是您可以将
exec maven插件
,特别是与之绑定。例如,要在包阶段运行目标:

<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>

org.codehaus.mojo
execmaven插件
1.4
运行java
包裹
JAVA
主课

如果你问这个问题,就意味着你不清楚问题的真正含义

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

所以要明确一点:有一个构建生命周期,它由阶段组成,阶段由插件目标组成

当您使用

mvn compile
您正在调用构建阶段。在Maven中,有一个。当您调用一个阶段时,它之前的所有阶段也会被调用。调用一个阶段意味着您正在调用绑定到此阶段的所有插件。对于
compile
案例,这意味着它将调用
maven编译器插件
,该插件默认绑定到
compile
阶段

因此,严格地回答您的问题:不,没有生命周期命令可以做到这一点


但是,您可以在POM中配置一个插件,该插件将绑定到某个阶段,并调用该阶段。关于这一点,你可以参考@manouti的答案,其中介绍了
exec-maven插件

,但这本身并不是一个生命周期命令(只是因为实际上没有生命周期命令)。@Tunaki你是对的。我相应地修改了我的答案。你能再详细一点吗?运行一个做什么的程序?代码生成?资源的预处理?请再详细一点;)脚本生成和打包当单击run按钮时IDE所做的任何事情。例如,hello world将打印“hello world”。)如何使用mvn命令构建JAR?部署?事实上,我还不清楚。阶段列表已经澄清了很多关于构建周期的事情。