我刚开始使用Maven,并被告知在特定目录中进行mvn安装。

mvn安装到底做什么?

我认为它会在当前文件夹中查找pom.xml,并开始按照该文件中指定的指示执行。对吗?


当前回答

MVN安装的主要任务是

1)下载依赖项

2)构建项目

而job 1现在由intellij这样的id负责(他们在POM下载任何依赖项)

MVN安装现在主要用于作业2。

其他回答

你看过Maven文档吗,比如Maven安装插件文档?

果壳版本:它将构建项目并将其安装在本地存储库中。

重要的是要指出安装和安装:安装是不同的东西,安装是一个阶段,在这个阶段,maven做的不仅仅是将当前项目模块工件安装到本地存储库,它首先检查远程存储库。另一方面,install:install是一个目标,它只是构建你当前的项目,并将所有的构件安装到本地存储库(例如到.m2目录)。

一般来说,我们应该使用mvn软件包而不是mvn安装,我在任何地方都看到这个错误

Mvn安装将生成的jar从目标复制到.m2存储库,这可能会在未来给开发人员带来一些问题

根据我7年多的经验,我建议开发人员使用mvn包而不是mvn安装

在maven构建生命周期的任何阶段,都会执行之前的所有目标。

例如:mvn安装将调用mvn验证,mvn编译,mvn测试,mvn包等。

它将运行与默认生命周期的任何阶段相关的所有配置插件的所有目标,直到“安装”阶段:

https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference