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

mvn安装到底做什么?

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


当前回答

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

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

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

其他回答

-DskipTests=true是- ddmen .test.skip=true的简写形式

在。m2文件夹中的settings .xml中进行更改。你可以使用链接到本地回购,这样罐子一旦下载不应该下载一遍又一遍。

<url>file://C:/Users/admin/.m2/repository</url>
 </repository>

您可能已经知道,Maven是Apache提供的构建自动化工具,它的功能不仅仅是依赖项管理。我们可以让它成为Ant和Makefile的对等体,后者可以下载所需的所有依赖项。

在mvn安装中,它根据超级POM .xml(根POM)下所有子项目上的项目配置POM .xml构建依赖树,并在用户文件夹下名为.m2的目录中下载/编译所有所需的组件。这些依赖关系必须得到解决,才能正确地构建项目,mvn install是一个可以下载大部分依赖关系的实用程序。

此外,Maven中还有其他utils,如dependency:resolve,可以在任何特定情况下单独使用。mvn的构建生命周期如下:生命周期绑定

进程资源 编译 process-test-resources 任意 测验 包 安装 部署

这个mvn的测试阶段可以通过使用-DskipTests=true来忽略。

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

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

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

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

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

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

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