Maven常用命令解析

Maven包含一系列可以执行的命令。 Maven命令是构建生命周期,构建阶段和构建目标的混合体,因此可能会有些混乱。我将在本教程中描述常见的Maven命令,并说明它们执行的生命周期,阶段和目标。


1.Maven命令结构

Maven命令包含两个元素:

mvn 

一个或多个构建生命周期,构建阶段或目标


一个Maven命令示例:

mvn clean


该命令由执行Maven的mvn命令以及名为clean的构建生命周期组成。


这是另一个Maven命令示例:

mvn clean install


此maven命令执行clean构建生命周期和默认构建生命周期中的install构建阶段。


现在,你可能想知道构建生命周期,构建阶段和构建目标之间的差异。


2.构建生命周期,阶段和目标

Maven包含三个主要的构建生命周期:

clean

default

site

在每个构建生命周期内都有构建阶段,在每个构建阶段内都有构建目标。

你可以执行构建生命周期,构建阶段或构建目标。在执行构建生命周期时,将执行该构建生命周期内的所有构建阶段(构建目标)。

在执行构建阶段时,将执行该构建阶段中的所有构建目标。

构建目标分配给一个或多个构建阶段。当执行构建阶段时,该构建阶段中的所有目标也会执行。你也可以直接执行构建目标。


3.执行构建生命周期,阶段和目标

运行mvn命令时,将一个或多个参数传递给它。这些参数指定构建生命周期,构建阶段或构建目标。例如,执行clean构建生命周期,可以执行以下命令:

mvn clean


要执行site构建生命周期,请执行以下命令:

mvn site


4.执行默认生命周期

默认的生命周期是构建生命周期,它会生成,编译,打包等源代码。

你不能直接执行默认的构建生命周期,而clean和site可以。相反,你必须在默认的构建生命周期内执行特定的构建阶段。

默认构建生命周期中最常用的构建阶段是:

构建阶段描述
validate
验证项目的正确性。这也确保了依赖项已下载。
compile
编译项目的源代码。
test
使用合适的单元测试框架针对已编译的源代码运行测试。
package
以其可分发格式(例如JAR)打包编译后的代码。
install
将软件包安装到本地存储库中,以作为本地其它项目中的依赖项。
deploy
将最终软件包复制到远程存储库,以便与其他开发人员和项目共享。


通过在mvn命令之后添加构建阶段,可以执行这个构建阶段:

mvn compile


此示例Maven命令执行默认构建生命周期的compile编译构建阶段。此Maven命令还将在默认的构建生命周期中执行所有较早的构建阶段,如validate构建阶段。


5.执行构建阶段

可以通过将构建阶段的名称传递给Maven命令来执行位于构建生命周期内的构建阶段。

mvn pre-clean



mvn compile

    

mvn package


Maven将找出指定的构建阶段属于哪个构建生命周期,因此你无需显式指定该构建阶段属于哪个构建生命周期。


6.常见的Maven命令

这是Maven常用命令的列表:

命令描述
mvn clean
清除Maven构建项目的target目录。
mvn package
生成项目并将生成的JAR文件打包到target目录中。
mvn package -Dmaven.test.skip=true
生成项目并将生成的JAR文件打包到target目录中-无需在生成过程中运行单元测试。
mvn install
生成由Maven POM文件描述的项目,并将结果(JAR)安装到本地Maven存储库中。



 

展开阅读全文