MVN打包参数详解

常见的mvn编译打包方式:

mvn clean -U package -Dtest -DfailIfNoTests=false

mvn clean -U package -Dmaven.test.skip=true

mvn clean -U install -Dtest -DfailIfNoTests=false

mvn clean -U install -Dmaven.test.skip=true

“mvn clean package”和“mvn clean install”的区别:

两个都有clean命令,都将清除上一次Maven执行的结果。这意味着他们将删除目标文件夹。Package命令是编译代码,并将其打包。例如,如果项目是一个jar文件,那么当打包并将其放置在目标目录的某个位置(默认情况下)时,它将创建一个jar文件。install会编译和打包,同时也会把这个包放到你的本地仓库中。这将使其他项目可以引用它并从本地存储库中获取它。Package & install是Maven创建生命周期中的两个阶段。包装阶段将在此之前执行所有阶段并停止将项目打包成jar。同样,安装阶段将执行所有以前的阶段,并最终在本地为其他相关项目安装项目。

“-DskipTests“和“-Dmaven.test.skip=true“的区别

在使用mvn package进行编译、打包时,Maven会执行src/test/java中的JUnit测试用例,有时为了跳过测试,会使用参数-DskipTests和-Dmaven.test.skip=true,这两个参数的主要区别是:

-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。

-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。

 

传送门:http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

使用mvn打包比较功能常用

1.package,这个命令会在你的项目路径下一个target目录,并且拥有compile命令的功能进行编译,同时会在target目录下生成项目的jar/war文件。

2.install,该命令包含了package命令功能,不但会在项目路径下生成class文件和jar包,同时会在你的本地maven仓库生成jar文件,供其他项目使用。即将项目输出构件部署到本地仓库。

3.clean,执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。即清除上一次Maven执行的结果。

4.compile,编译命令,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。

5. build,这个插件让你自己去配置执行目标。

6. generate-sources,根据pom配置去生成源代码格式的包

注:同时执行多次install或者package命令会每次都更新jar文件。

原文地址:https://www.cnblogs.com/Tanwheey/p/13897520.html