写点什么

mvn install & mvn package

用户头像
哼干嘛
关注
发布于: 2021 年 01 月 17 日

看到很多同学在运行项目的时候都使用了如下所示的命令:

mvn clean package install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true
复制代码

这个命令是有一些问题的。

Maven 的默认生命周期

首先我们来了解一下 Maven 的默认生命周期:



这些阶段是顺序执行,相互依赖的。

当我们在执行 mvn install 命令的时候,在执行 install 阶段之前,mvn 也将按顺序执行每个默认的生命周期阶段:validate -> compile -> test -> package -> verify。

所以只需要调用最后一个阶段 执行 mvn install 而不是 mvn package install。否则会导致重复操作。


以 Soul 项目为例,实际比较一下两种命令的不同

执行:

 mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true > install.txt
复制代码

mvn clean package install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true > package_and_install.txt
复制代码

命令,将执行记录分别输入到 install.txt 和 package_and_install.txt 文件中,对比两个文件:

很明显就会看到重复执行了 validate -> compile -> test -> package 的阶段


扩展阅读

Maven官网对于生命周期的介绍

发布于: 2021 年 01 月 17 日阅读数: 51
用户头像

哼干嘛

关注

早日自由! 2018.09.30 加入

本职工作是后端开发,偶尔也写写前端和小程序

评论

发布
暂无评论
mvn install & mvn package