“mvn clean package”和“mvn clean install”有何不同?

问题

mvn clean packagemvn clean install之间究竟有什么区别?当我运行这两个命令时,它们似乎都做同样的事情。


#1 热门回答(202 赞)

好吧,两者都会干净。这意味着他们将删除目标文件夹。真正的问题是包和安装之间的区别是什么?

package将编译你的代码并打包它。例如,如果你的pom说该项目是一个jar,它将在你打包并将其放在目标目录中的某个位置时默认为你创建一个jar(默认情况下)。

install将编译和打包,但它也会将包放在本地存储库中。这将使其他项目可以引用它并从本地存储库中获取它。
Documentation


#2 热门回答(8 赞)

打包和安装是maven构建生命周期中的各个阶段。包阶段将在此之前执行所有阶段,并且它将作为jar包装项目而停止。类似地,安装阶段将执行所有先前阶段,最后在本地为其他依赖项目安装项目。

要了解maven构建生命周期,请通过以下链接https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html


#3 热门回答(6 赞)

软件包将根据POM文件生成Jar / war.安装将生成的jar文件安装到本地存储库以获取其他依赖项(如果有)。

安装phase来自packagephase